VLOOKUP اکسل برای یافتن آخرین مقدار در ستون (با گزینه های جایگزین)

  • این را به اشتراک بگذارید
Hugh West

VLOOKUP یک تابع بسیار محبوب در اکسل است که به جستجوی عمودی اشاره دارد. ما می‌توانیم از تابع داخلی VLOOKUP استفاده کنیم یا حتی می‌توانیم فرمول‌های خودمان را بسازیم که به عنوان جستجوی عمودی برای برگرداندن مقدار با معیارهای پویاتر عمل می‌کنند. در این مقاله، من قصد دارم نحوه یافتن آخرین مقدار در یک ستون را با VLOOKUP در اکسل نشان دهم.

دانلود کتاب تمرین

کتاب کار Excel را که برای تهیه این مقاله استفاده کرده ایم دانلود کنید.

VLOOKUP Last Value در Column.xlsx

استفاده از تابع VLOOKUP برای آخرین مقدار را در یک ستون بیابید

بیایید ابتدا با کتاب کار خود آشنا شویم. در این دیتا شیت، من از 3 ستون و 10 ردیف برای ارائه مبالغ فروش برخی از فروشندگان بر اساس تاریخ های مربوطه استفاده کرده ام.

در این روش، با استفاده از عملکرد VLOOKUP ، آخرین وقوع یک مقدار را پیدا می کنیم. VLOOKUP مخفف " جستجوی عمودی " است. این تابعی است که باعث می شود اکسل مقدار مشخصی را در یک ستون جستجو کند. در اینجا ما 3 مقدار فروش مختلف بیل داریم. اکنون مقدار آخرین فروش او را در Cell G5

مراحل :

➦ فعال کردن Cell G5 پیدا می کنیم ، فرمول زیر را تایپ کنید:

=VLOOKUP(F5,C5:D13,2)

➦ دکمه Enter را فشار دهید و آخرین مورد را خواهید دید از فروش او.

اما VLOOKUP پاسخ درستی برای داده های مرتب نشده درحالت تقریبی تصویر زیر را ببینید.

و اگر از تطابق دقیق برای آرگومان چهارم استفاده کنیم، مطابقت اول را مانند تصویر زیر نشان می دهد. زیرا vlookup از جستجوی باینری استفاده می کند. بنابراین وقتی مقداری بزرگتر از مقدار جستجو پیدا کرد، برای نشان دادن به مقدار قبلی برمی گردد، آن را در تصویر زیر ببینید.

بنابراین برای غلبه بر این وضعیت برای داده های مرتب نشده برای یافتن آخرین رخداد باید از توابع جستجو یا سایر فرمول های ترکیبی استفاده کنیم. اکنون در بخش‌های بعدی درباره آن روش‌ها بحث خواهیم کرد.

جایگزین‌های تابع VLOOKUP برای یافتن آخرین مقدار در ستون

اکنون چهار روش جایگزین را اعمال می‌کنیم. آخرین مقدار یک ستون را پیدا کنید.

روش 1: از تابع LOOKUP برای یافتن آخرین مقدار در ستون استفاده کنید

در اینجا آخرین مقدار یک ستون را با عملکرد LOOKUP در اکسل. تابع LOOKUP برای جستجوی یک ستون یا سطر برای یافتن یک مقدار خاص از همان مکان در ستون یا ردیف دوم استفاده می شود. آخرین مبلغ فروش را اینجا در Cell G4 پیدا خواهم کرد.

مراحل:

Cell G4 را فعال کنید.

➦ فرمول زیر را تایپ کنید:

=LOOKUP(2,1/(D:D""),D:D)

➦ سپس دکمه Enter را فشار دهید و آخرین مورد را دریافت خواهید کرد مقدار.

👉 تفکیک فرمول:

D :D””

در اینجا بررسی می کند که آیا سلول های ستون D خالی هستند یا خیر. خواهد شدبازگشت به عنوان-

{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE…..}

1/(D:D””)

1 را بر نتیجه تقسیم کردیم. همانطور که FALSE به معنای 0 و TRUE به معنای 1 است، بنابراین نتیجه به صورت زیر خواهد بود:

{#DIV/0!;#DIV/0!; #DIV/0!;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!}

LOOKUP(2,1/(D:D””),D:D)

من مقدار جستجوی 2 را تنظیم کرده ام زیرا تابع جستجو 2 را از طریق ستون پیدا می کند، زمانی که به پس از آن به نزدیکترین مقدار خود 1 باز می گردد و آن نتیجه را نشان می دهد. این به صورت-

367

روش 2: از توابع INDEX و MATCH برای یافتن آخرین مقدار در ستون استفاده کنید

در اینجا ما از ترکیب توابع INDEX و MATCH استفاده خواهیم کرد. تابع INDEX یک مقدار یا ارجاع به یک مقدار را از داخل یک جدول یا محدوده برمی گرداند. و عملکرد MATCH برای جستجوی یک آیتم مشخص شده در یک محدوده استفاده می شود و سپس موقعیت نسبی آن آیتم را در محدوده برمی گرداند.

مراحل:

➦ فرمول زیر را در Cell G5

=INDEX(D5:D13,MATCH(F5,C5:C13,1))

➦ فشار دهید Enter .

👉 چگونه فرمول کار می کند:

MATCH(F5,C5:C13,1)

در اینجا عملکرد MATCH برای یافتن مقدار سلول F5 برای مواردی که به ترتیب صعودی مرتب شده اند استفاده می شود. از آرایه C5:C13. تنظیم آرگومان سوم '1' نشان دهنده تقریبیهمخوانی داشتن. اکنون تابع به صورت-

6

در واقع شماره ردیف شمارش شده از اولین ورودی را نشان می دهد.

INDEX(D5:D13,MATCH(F5,C5:C13,1))

و عملکرد INDEX فروش مربوطه را نشان می دهد ( D5:D13) طبق مطابقت قبلی از آرایه ( C5:C13) که به صورت-

367

بر می گردد این در واقع آخرین اتفاق برای سلول F5 است

روش 3: ترکیبی از توابع INDEX، MAX، SUMPRODUCT و ROW برای یافتن آخرین مقدار در ستون

اکنون کار را با ترکیب توابع INDEX، MAX، SUMPRODUCT و ROW انجام خواهیم داد. عملکرد ROW اعداد ردیف را پیدا می کند. SUMPRODUCT تابعی است که محدوده ای از سلول ها یا آرایه ها را ضرب می کند و مجموع محصولات را برمی گرداند. عملکرد MAX حداکثر عدد را پیدا می کند. و تابع INDEX یک مقدار یا ارجاع به یک مقدار را از داخل یک جدول یا محدوده برمی‌گرداند.

مراحل:

➦ فعال کردن ویرایش در سلول F7

➦ فرمول زیر را کپی و پیست کنید:

=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

➦ و Enter را فشار دهید دکمه.

👉 فرمول چگونه کار می کند:

ROW($B$5:$B$13)

عملکرد ROW شماره ردیف آرایه را نشان می دهد که به صورت-

{ 5;6;7;8;9;10;11;12;13}

($E$7=$B$5:$B$13)

در اینجا Cell E7 مقدار جستجوی ما و این استفرمول آن را از طریق آرایه B5:B13 مطابقت خواهد داد. سپس به صورت-

{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}

بر می گردد ROW($B$5:$B$13)*($E$7=$B$5:$B$13)

این ضرب دو فرمول قبلی است که در واقع ضرب شماره ردیف های مربوطه FALSE به معنی 0 و TRUE به معنی 1 است. بنابراین پس از ضرب، به صورت-

{0;0;0;0;9;0;0;0;13}

➥ باز می گردد MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))

MAX تابع حداکثر مقدار را از نتیجه قبلی پیدا می کند که به صورت

13

SUMPRODUCT(MAX(ROW($ B$5:$B$13)*($E$7=$B$5:$B$13))-4)

اکنون از تابع SUMPRODUCT برای یافتن ردیف استفاده می شود عدد در آرایه . از آنجایی که لیست ما از ردیف 5 به بعد شروع می شود، 4 کم شده است. بنابراین موقعیت آخرین وقوع Bill 9 در لیست ما است، بنابراین فرمول به صورت-

9 برمی‌گردد.

INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5: $B$13))-4))

عملکرد INDEX برای یافتن میزان فروش آخرین نام منطبق استفاده می شود. و به عنوان-

563

این آخرین مورد ما برای Bill است.

روش 4 برمی گردد. : از Excel VBA برای یافتن آخرین وقوع یک مقدار در ستون استفاده کنید

اگر دوست دارید در اکسل کدنویسی کنید، این روش برای شما مناسب است. مامی تواند عملیات قبلی را با استفاده از روش VBA نیز انجام دهد. بیایید مراحل زیر را طی کنیم که چگونه می‌توانیم آن را به راحتی انجام دهیم.

برای این کار، در ابتدا، یک نوار کشویی برای نام‌های منحصربه‌فرد ایجاد می‌کنم. سپس یک تابع جدید تعریف شده توسط کاربر " LastItemLookup " با استفاده از VBA ایجاد می کنم که برای یافتن آخرین رخداد از آن استفاده می کنیم.

مرحله 1 :

➦ ابتدا، نام‌های منحصربه‌فرد را از صفحه اصلی در یک صفحه جدید کپی کنید.

مرحله 2:

➦ سپس به برگه اصلی بروید. هر سلول جدید را فعال کنید. من E5 را انتخاب کردم.

➦ روی Data > ابزارهای داده > اعتبارسنجی داده ها.

یک کادر گفتگو ظاهر می شود.

مرحله 3:

List را از نوار Allow انتخاب کنید.

➦ سپس نماد open را از Source <2 فشار دهید>bar.

مرحله 4:

➦ پس از آن به برگه جدید خود بروید و نام های منحصر به فرد را انتخاب کنید.

OK را فشار دهید

ببینید علامت پیکان رو به پایین در سمت راست آن سلول نشان داده شده است. با کلیک بر روی اینجا می توانید هر نامی را انتخاب کنید. این باعث صرفه جویی در وقت ما می شود زیرا نیازی نیست هر بار نام ها را تایپ کنیم.

اکنون یک تابع جدید به نام LastItemLookup با Excel VBA.

مرحله 5:

➦ R راست کلیک کنید موس خود را روی نام برگه.

نمایش کد را از منوی زمینه انتخاب کنید.

یک پنجره VBA باز می شود.

مرحله 6:

➦ کدهای داده شده را تایپ کنیددر زیر:

7184

مرحله 7:

➦ سپس دکمه پخش را فشار دهید تا کدها اجرا شوند. یک کادر محاوره ای با نام ماکروها نمایش خواهد شد.

➦ روی Run کلیک کنید.

عملکرد جدید ما اکنون آماده است.

مرحله 8:

➦ اکنون به کاربرگ خود بازگردید.

Cell F5<را فعال کنید. 2>

➦ فرمول زیر را با تابع جدید تایپ کنید.

=LastItemLookup(E5,B5:C13,2)

Enter را فشار دهید تا نتیجه آخرین وقوع برای رون .

اکنون وقتی نام هر فروشنده ای را انتخاب می کنید، آخرین مقدار وقوع مربوط به او را دریافت خواهید کرد.

نتیجه‌گیری

امیدوارم تمام روش‌هایی که در بالا توضیح داده شد به اندازه کافی خوب باشند تا آخرین مقدار در یک ستون را vlookup کنند. هر گونه سوالی را در بخش نظرات بپرسید و لطفاً بازخورد خود را به من بدهید

هیو وست یک مربی و تحلیلگر اکسل بسیار با تجربه با بیش از 10 سال تجربه در این صنعت است. وی دارای مدرک لیسانس در رشته حسابداری و امور مالی و مدرک کارشناسی ارشد در رشته مدیریت بازرگانی است. هیو علاقه زیادی به تدریس دارد و یک رویکرد آموزشی منحصر به فرد ایجاد کرده است که به راحتی قابل پیگیری و درک است. دانش تخصصی او از اکسل به هزاران دانش آموز و متخصص در سراسر جهان کمک کرده تا مهارت های خود را بهبود بخشند و در حرفه خود برتری پیدا کنند. هیو از طریق وبلاگ خود دانش خود را با جهان به اشتراک می گذارد و آموزش های رایگان اکسل و آموزش آنلاین ارائه می دهد تا به افراد و مشاغل کمک کند تا به پتانسیل کامل خود دست یابند.