دسترسی سریع

لینکهای مفید

تابع VLOOKUP اکسل

فهرست و دسترسی سریع

تابع VLOOKUP اکسل ( ویلوکاپ ) یکی از توابع بسیار پر کاربرد می باشد و با زبانی ساده آموزش این تابع مهم را برای شما آسان کرده ایم . از دسته توابع جستجو در اکسل می باشد و وظیفه نمایش داده ها متناسب با مقدار جستجو شده را دارد که البته در آفیس 2021 معادل آن که البته بسیار پیشرفت کرده است تابع XLOOKUP می باشد . در این مطلب به چگونگی استفاده از این تابع پرکاربرد خواهیم پرداخت.

آرگومانهای تابع VLOOKUP اکسل

تابع vlookup اکسل
آفیس 2003 به بالا

VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])=

lookup_value– مقداری و یا آدرسی که باید جستجو شود.

table_array–محدوده ای که ستون اول آن باید مورد جستجوی آرگومان اول باشد.

col_index_num– شماره ستونی که در صورت یافتن آرگومان اول باید نمایش داده شود.

[range_lookup] – مشخص میکنیم که آیا باید مقدار آرگومان اول دقیقا مورد جستجو باشد . ( اختیاری است )

آرگومان آخر اختیاری است  ولی وارد نکردن آن تاثیر زیادی در فرمول دارد ، لذا باید مثالها را ببینید تا تاثیر آن را درک کنید.

نکات و قوانین حاکم بر تابع VLOOKUP اکسل

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

مثال ساده از تابع VLOOKUP

فرض می کنیم داده هایی مشابه تصویر زیر داریم که ستون دوم آن کد پرسنلی و ستون آخر آن هم میزان پاداش هست و می خواهیم با وارد کردن کد پرسنلی ، میزان پاداش مربوطه نمایش داده شود .

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

نکته مهم دیگر اینست که باید آرگومان آخر را با اینکه اختیاری هست عدد 0 یا FALSE قرار دهیم تا دقیقا به دنبال کد پرسنلی وارد شده بگردد.

حالا چند حالت به وجود می آید :

  • کد پرسنلی در محدوده وجود نداشته باشد : ارور #N/A نمایش می دهد .
  • کد پرسنلی چند بار تکرار شده باشد : اولین کد پرسنلی را که پیدا می کند ملاک قرار داده و بقیه را نمایش نمی دهد.
  • نوع داده وارد شده با نوع جستجو همخوانی نداشته باشد : اگر در ستون کد پرسنلی عددی باشد که به صورت متنی وارد شده باشد و در زمان جستجو خاصیت سلول عددی وارد شود ، نتیجه بازهم #N/A خواهد بود .
=VLOOKUP(I2,$C$2:$F$8,4,0)
مثال ساده از تابع VLOOKUP اکسل

استفاده از تابع VLOOKUP با دو شرط

فرض کنیم که داده هایی مشابه تصویر زیر داریم که شامل کد و سریال و بقیه اطلاعات است و در کدها ما امکان تکرار داریم و سریالها یونیک هستند ، حال می خواهیم با انتخاب کد و سریال ، داده های متناظر این دو انتخاب را نمایش دهد .

اولین راهی که وجود دارد این است که یک ستون کمکی قبل از ستون کد ایجاد کنیم و در آن ، کد کالا و سریال را با هم تجمیع کنیم که این کار را می توانیم با تابع TEXTJON انجام دهیم . 

سپس در قسمت مورد نظر از تابع VLOOKUP به شکل زیر استفاده کنیم .

=VLOOKUP(J2&J3,$B$2:$G$8,6,0)
تابع VLOOKUP با دو شرط

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

=INDEX(C2:G8, MATCH(1, (C2:C8=J2)*(D2:D8=J3), 0),5)

فرض کنیم که می خواهیم حتما با تابع VLOOKUP انجام دهیم و نمی توانیم ستون کمکی هم ایجاد کنیم . در اینصورت می توانیم از ترکیب با توابع دیگر  به صورت زیر استفاده کنیم.

تریکب با تابع CHOOSE :

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

=VLOOKUP(H2&H3,CHOOSE({1,2},B3:B8&C3:C8,E3:E8),2,0)

تریکب با تابع IF :

دراین روش هم ابتدا به دنبال کد کالا می گردیم و سپس در نتایج با کمک تابع IF آنهایی که سریالشان مساوی با سریال مورد نظر ما هست را محدود می کنیم و به نتیجه دلخواه می رسیم.

=IFERROR(VLOOKUP(H3,IF(H2=B3:B8,C3:E8,""),3,0),"")

ترکیب با تابع LEN :

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

البته این روش به دلیل اینکه نتیجه متنی می باشد همه جا صادق نیست و باید با احتیاط استفاده شود و در نهایت با تابع NUMBER نتیجه را تبدیل به عدد کرد.

=RIGHT(VLOOKUP(K3&K4,D3:D9&E3:H9,4,0),LEN(VLOOKUP(K3&K4,D3:D9&E3:H9,4,0))-LEN(K3))

ترکیب با تابع INT :

در این روش ابتدا کد و سریال را به همراه یک نقطه با هم ادغام می کنیم و سپس ستون کد را با بقیه ستونها ادغام میکنیم و نتیجه ای که حاصل می شود ، کد را به همراه یک نقطه و نتیجه نمایش می دهد که کافیست با استفاده از تابع INT مقدار پاداش باقی بماند.

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

=INT(VLOOKUP(H2&"."&H3,B3:E8&"."&C3:C8,4,0))

بدون تابع VLOOKUP و با استفاده از SUM :

این روش هم ساده و بسیار جذاب است و بازهم زمانی کاربرد دارد که مقداری که باید برگردانده شود ، عددی باشد .

=SUM((E3:E8)*(C3:C8=H3)*(B3:B8=H2))

نمایش نتایج تکراری

فرض می کنیم که داده های قبلی به گونه ای هست که برخی از کدها چند بار تکرار شده اند و با VLOOKUP می خواهیم تمام کدهای وارد شده را نمایش دهیم .

البته که پیشنهاد ما برای این منظور استفاده از تابع FILTER می باشد ولی اگر آفیس 2021 نداشتید و مجبور بودید از تابع VLOOKUP استفاده کنید می توانید از روش زیر استفاده کنید . که بازهم ترکییبی از تابع INDEX و سایر توابع می باشد.

=IFERROR(INDEX($B$3:$F$8,SMALL(IF($I$2=$B$3:$B$8,ROW($B$3:$B$8)-2,""),ROW()-1),3),"")
تابع VLOOKUP و نتایج تکراری

استفاده از VLOOKUP برای نمایش داده ستون قبلی

یکی از محدودیتهای ویلوکاپ این است که رو به جلو حرکت میکند ، یعنی در ستون اول که داده را پیدا کرد دادهای متناظر بعدی از آن را می تواند متناسب با شماره ستون وارد شده نمایش دهد . 

حال در مثال زیر اگر بخواهیم با انتخاب کد پرسنلی ، نام و نام خانوادگی نمایش داده شود چکار باید بکنیم ؟ 

خب خیلی بهتر است که برای حل مسادل این چنینی از تابع XLOOKUP استفاده کنیم و اگر توابع آفیس 2021 را نداشتیم از تابع INDEX استفاده کنیم . ولی اگر اصرار بر استفاده از VLOOKUP داشتید می توانید به شکل زیر از آن بهره ببرید.

=VLOOKUP(I2,CHOOSE({1,2},C3:C8,B3:B8),2,0)
تابع VLOOKUP و نمایش داده های قبلی

اهمیت آرگومان آخر VLOOKUP و نمایش نتیجه تقریبی

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

=VLOOKUP(C3,$F$3:$G$7,2,1)

اگر مثال و یا شیوه دیگری از استفاده از تابع VLOOKUP می شناسید حتما در قسمت نظرات عنوان بفرمائید تا مطلب را آپدیت کنیم.

4.2/5 - (74 امتیاز)

نکات مهم تابع VLOOKUP اکسل

  • این تابع جستجو را فقط به صورت عمودی انجام می دهد.
  • آرگومان آخر تابع VLOOKUP با اینکه اختیاری است بسیار مهم است و معمولا باید 0 یا FALSE باشد.
  • این تابع اطلعات پشت سر خود را بر نمیگرداند و برای این منظور باید از تابع INDEX استفاده کنید .
  • داده ای که در آرگومان اول وارد می شود باید با اولین ستون محدوده جستجو همنوع باشد در غیر اینصورت ارور می دهد .
  • این تابع علی رغم محبوبیتی که دارد بسیار مستعد خطاست و با دقت بالایی باید از آن استفاده کنید.
  • اگر آفیس 2021 یا بالاتر دارید پیشنهاد می شود از تابع XLOOKUP استفاده نمائید.
یادگیری اصولی اکسل !

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

آموزشهای مرتبط

3.9 18 امتیازات
امتیاز این آموزش
دنبال کردن
اطلاع رسانی به
guest

21 نظرات
پر امتیاز ترین
جدیدترین قدیمی ترین
Inline Feedbacks
مشاهده همه دیدگاهها

دانلود رایگان !!

لطفا شماره موبایلی وارد کنید که روی آن واتس اپ دارید !!

بهتر است که شماره موبایل با واتس اپ فعال وارد کنید و از اخبار و تخفیف ها هم با خبر شوید ، در غیر اینصورت می توانید آدرس ایمیل وارد نمائید.

happy holidays

we want to hear from you

https://dl.officebaz.ir/Function/Vlookup.zip