سبد خرید
0

محصولی در سبد خرید نیست.

بازگشت به فروشگاه

تابع Vlookup اکسل | معرفی و آشنایی

تابع Vlookup اکسل
۳/۵ - (۴۷ امتیاز)

آشنایی با تابع Vlookup اکسل

جستجو و فراخوانی در اکسل، از مباحث حرفه ای و کاربردی به شمار می رود. به همین منظور است که یک دسته از توابع در اکسل به این موضوع مهم اختصاص داده شده است. دسته توابع Lookup & Reference، همه توابع مربوط به جستجو و فراخوانی و ارجاع را در خود جای داده است. توابع موجود در این دسته از اهمیت بسیار زیادی برخوردار هستند. مخصوصا که این توابع هنگامی که با یکدیگر و سایر توابع ترکیب می شوند نتایج فوق العاده ای خلق می کنند. یک فرد حرفه ای در اکسل، لازم است مهارت و تسلط زیادی روی این دسته از توابع داشته باشد. یکی از معروف ترین توابع از این دسته، تابع Vlookup اکسل است.

بسیاری از مواقع نیاز داریم که از یک دیتابیس یا همان بانک اطلاعاتی، داده ای را جستجو کرده و فراخونی کنیم. مثلا یک بانک اطلاعاتی از اطلاعات کارکنان یک شرکت شامل کد ملی، نام، نام خانوادگی، میزان تحصیلات، میزان حقوق و … داریم. حالا میخواهیم در جایی دیگر، کد ملی شخص را وارد کرده و سایر اطلاعات مربوط به وی را فراخوانی کنیم. یکی از راه های مناسب برای انجام این کار استفاده از تابع Vlookup اکسل است.

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

این تابع شامل چهار آرگومان به شرح زیر است:

Lookup_Value: عبارت یا سلی که می‏خواهیم جستجو کنیم.

Table_Array: جدولی که جستجو در آن انجام می‏شود.

Col_index_Num: شماره ستونی از جدول است که می‏خواهیم برگردانده شود.

Range_Lookup: تعیین می‏کند که بصورت دقیق جستجو کند یا تخمینی.

تشریح یک مثال حل شده

در ادامه با یک مثال به تشریح آرگومان های این تابع می پردازیم.

در بانک اطلاعاتی زیر کد مشتری و اطلاعات مربوط به خرید هر مشتری موجود است. همانطور که در شکل ۱ مشخص است، می خواهیم کد مشتری را در سل G3 وارد کرده و تاریخ خرید همان مشتری را در سل روبرو  (H3)مشاهده کنیم (به این کار فراخوانی گفته می شود).

جستجوی دقیق در تابع Vlookupشکل ۱ – نحوه نوشتن تابع Vlookup

آرگومان اول: موردی است که به جستجوی آن پرداختیم. در اینجا کد مشتری Lookup-Value ما خواهد بود که در سل G3 نوشته شده است.

=VLOOKUP(G3,A1:E16,5,0)

آرگومان دوم: محدوده ای است که جستجو در آن انجام می شود. در اینجا محدوده A1:E16، Table_Array ما خواهد بود.

=VLOOKUP(G3,A1:E16,5,0)

آرگومان سوم: این آرگومان از جنس عدد است و تعیین می کند که چندمین ستون از محدوده جستجو را برگرداند. در اینجا میخواهیم تاریخ خرید مربوط به هر مشتری فراخوانی شود. پس باید ببینیم تاریخ خرید، چندمین ستون از محدوده جستجو است. در اینجا فیلد تاریخ خرید، ستون پنجم از Table_Array است.

=VLOOKUP(G3,A1:E16,5,0)

آرگومان چهارم: مقدار ۰ جستجوی دقیق و عدد ۱ جستجو تخمینی را انجام میدهد. باید به این نکته اشاره کنم که مقدار ۱ کاربردهای خاصی برای برخی مسائل دارد و اغلب اوقات ما آرگومان چهارم را ۰ قرار می دهیم زیرا به دنبال جواب دقیق هستیم.

=VLOOKUP(G3,A1:E16,5, )

در آینده حتما کاربردی خاص از جستجوی تخمینی را ارائه خواهم کرد.

همچنین میتونید آموزش Vlookup از چند شیت یا چند فایل رو مطالعه کنید.

حالا اگر بخواهیم مبلغ خرید را فراخوانی کنیم، فقط کافیست عدد ۵ را به ۴ تغییر دهیم. زیرا مبلغ خرید چهارمین ستون از محدوده جستجو یا همان Table_Array هست.

چند نکته

نکته اول: آیتمی که مورد جستجو قرار می گیرد، همیشه باید در اولین ستون از Table_Array موجود باشد. فرض کنید می خواهیم اطلاعات مربوط به شرکت ها را جستجو کنیم. مثلا می خواهیم مبلغ خرید شرکت E را فراخوانی کنیم. فرمول به شرح شکل۲ تغییر خواهد کرد:

تابع

شکل۲ – انتخاب محدوده جستجو در Vlookup

دقت داشته باشید که محدوده جستجو یا همان Table_Array به B1:E16 تغییر کرده چرا که نام شرکت در ستون B قرار دارد و ما میخواهیم نام شرکت را مورد جستجو قرار دهیم. همچنین با توجه به این تغییر، مبلغ خرید، سومین ستون از Table_Array خواهد بود.

 

نکته دوم: در حالت عادی تابع Vlookup موارد تکراری را جستجو نمی کند. یعنی اگر در ستون نام شرکت، بیش از یک شرکت E وجود داشته باشد، Vlookup همواره به مورد اول که برسد، همان را بر می گرداند و موارد بعدی را جستجو نمی کند. البته برای برطرف کردن این موضوع ترفندهایی می شود بکار بست که در مقاله جستجو موارد تکراری میتونید این مسئله رو حل کنید.

نکته خیلی مهم
مشکلی که در بسیاری اوقات افراد با آن مواجه میشوند، این است که اعداد در تابع Vlookup پیدا نمیشوند و خروجی تابع، خطای #N/A دیده میشود.
یکی از علل این مسئله جنس داده ها است. به این معنی که اعداد به صورت متن درآمده اند. در این مواقع بهتر است همه اعدادی که جنس عدد ندارند را در عدد یک ضرب کنیم تا به صورت عدد شناسایی شوند و در محاسبات این تابع در نظر گرفته شوند.
کلیدواژه : تابع Vlookupمتوسط
آواتار
145

فارغ التحصیل لیسانس مهندسی صنایع، ارشد مدیریت صنعتی از دانشگاه تربیت مدرس و عاشق اکسل هستم. از سال 1388 که ترم 2 لیسانس بودم، به توصیه استاد مشاورم شروع به خوندن اکسل بصورت حرفه ای کردم و همچنان در حال مطالعه و یادگیری و البته آموزش به بقیه هستم.

دیدگاه کاربران
  • علی ۱۹ آذر ۱۳۹۷ / ۱۲:۰۹ ب٫ظ

    سلام وقت بخیر
    اول ممنون از راهنمایی که قبلا کردین بعد اینکه من از تابع vlookup استفاده میکنم فرمول رو دست میزنم مثلاvlookup(b5,l5:m4514,2,0
    ولی وقتی میخوام که تمام ستون همین فرمول کپی بشه محدوده جست جو مثلا اگه اول l5:m4514 بزنم موقعی که دارم کپی میکنم این محدوده تغییر میکند حالا میخواستم ببینم راهی هست برای کپی کردن که این محدوده تغییر نکنه و فقط b5 تغییر کند. با تشکر

  • حمیدرضا ۲۳ مهر ۱۳۹۷ / ۱۲:۲۱ ب٫ظ

    سلام
    وقتتون بخیر
    ممنون از مطالب خوب و مفیدتون
    سوالی ازتون داشتم که ممنون میشم اگر راهنمایی بفرمایید.
    جدولی در اکسل دارم با ۳۰۰ سطر و ۱۰ ستون و می خواهم تمام سطرهایی که در ستون B آنها PM نوشته شده و در ستون D آنها Z2 نوشته شده ، ستون E این سطرها با هم جمع شده و در یک سلول در یک شیت دیگر قرار بگیرد.
    ممنون از شما

  • ghasedak ۱۷ شهریور ۱۳۹۷ / ۱۱:۲۹ ق٫ظ

    سلام
    دنبال یک فرمول مانند vlookupهستم با این تفاوت که اخرین مقدار دریافتی را به من نمایش دهد
    در vlookupمقدار اولی که دریافت می کند را به من نمایش میدهد
    به نظر شما چنین فرمولی وجود دارد؟
    ممنون میشم اگه راهنمایی بفرمایید

    • آواتار
      حسنا خاکزاد ۱۷ شهریور ۱۳۹۷ / ۱۱:۴۹ ق٫ظ

      درود بر شما
      اگر شرایط استفاده از lookup رو دارید، از اون استفاده کنید
      و الا، از ترکیب index large و . … بصورت آرایه ای باید استفاده کنید

  • masoud ۲۸ مرداد ۱۳۹۷ / ۴:۱۶ ب٫ظ

    سلام
    من لیستی از ابعاد یک محصول به همراه تعداد هر کدام دارم. میخواهم نام اولین محصول با ابعاد کوچکتر که پایین تر از مثلا سلول الف۱ است را در مقابل سلول الف ۱ بنویسم.

    لطفا راهنمایی کنید از چه تابعی باید استفاده کنم. متشکرم

    • آواتار
      حسنا خاکزاد ۲۹ مرداد ۱۳۹۷ / ۸:۵۲ ق٫ظ

      درود بر شما
      خیلی بستگی به ساختار داده ها داره اما بصورت کلی فکر میکنم با تابع index به جواب میرسید

  • فرزاد برادران ۲۳ مرداد ۱۳۹۷ / ۱:۵۴ ب٫ظ

    سلام مجدد خدمت خانم خاکزاد بزرگوار
    واقعا بابت راهنماییتون خیلی ممنونم آموزشتونم خیلی عالیی بود مرسی خیلی کمکم کردین.
    فقط معذرت میخوام چنتا سوال داشتم ممنون میشم راهنماییم کنین.
    ۱- یه لیست داریم ک تعدادی کالا با موجودی و تعداد فروش رفته داریم و برای مثال از یه نوع کالا تو لیست چندبار تکرار شده چطور میتونم جمع این نوع کالا رو ک تو جدول جاهاش پراکنده س بدست بیارم؟
    ۲- بزرگرتین و کمترین داده جدول رو داریم حالا میخوام بدونم عدد یا کدی که هستش مربوط به چ کالاییه؟( از match استفاده میکنم ولی خطا میده یا صفر نشون میده)
    ۳- چنتا شیت مختلف داریم( واحد فروش_واحد سفارشات_واحد تولید و…)چطور میتونم تو یه شیت جداگونه سه تاشونو ترکیب کنم؟
    واقعا لطف بزرگی تو حقم میکنین راهنماییم کنین.ایشالله ک همیشه تو مسیر موفقیت باشین.
    تشکر فراوان از خانم خاکزاد عزیز

    • آواتار
      حسنا خاکزاد ۲۳ مرداد ۱۳۹۷ / ۲:۴۵ ب٫ظ

      درود بر شما
      ۱- sumif
      ۲- اگر اعداد تکراری نباشه، میتونید با ترکیب Match و Index این کار و بکنید. اما اگه تکراری باشه، با توجه به منطق، باید فرمول نویسی آرایه کنید.
      ۳-منظور از ترکیب واضح نیست. اکا اگر میخواید دیتابیس ها رو بیارید توی یک شیت اول باید ساختار مناسب رو طراحی کنید بعد با توجه به توانایی که دارید (فرمول نویسی یا VBA) اقدام به جابجایی اطلاعات کنید.

  • فرزاد برادران ۱۹ مرداد ۱۳۹۷ / ۱:۲۹ ب٫ظ

    با عرض سلام و خسته نباشید خدمت خانم خاکزاد عزیز
    من از اکسل ۲۰۱۶ استفاده میکنم و مشکلی ک دارم علامت گذاری بین فرمول هاست مثلا تو فرمول if یا vlookup نقطه ویر گول رو میزارم وارد قسمت بعدی نمیشه.ممنون میشم راهنماییم کنین

    • آواتار
      حسنا خاکزاد ۱۹ مرداد ۱۳۹۷ / ۸:۱۸ ب٫ظ

      درود بر شما
      این موضوع به ورژن آفیس ارتباطی نداره
      باید seperator در ویندوز رو تنظیم کنید. بعضی سیستم ها , و بعضی ; هست.
      مسیر تغییر:

      Control Panel\ All Control Panel Items\ Region and Language\ Formats\ Additional Settings\ Number\ List Separator

      جهت کسب اطلاعات بیشتر این لینک رو هم مطالعه کنید:
      https://excelpedia.net/excel-formula-rules-part1/

  • میثم ۶ اسفند ۱۳۹۶ / ۴:۲۵ ب٫ظ

    سلام و احترام
    شما کلاس هم برگزار میکنید؟

    • سامان چراغی ۶ اسفند ۱۳۹۶ / ۴:۳۱ ب٫ظ

      سلام
      در بخش “دوره های حضوری” لیست دوره های حضوری قرار داده شده. (در حال حاضر نزدیک ترین دوره حضوری، دوره اکسل نینجا هست).
      ویدئوهای آموزشی” هم به عنوان دوره های غیر حضوری قابل استفاده هستند.

  • محمد ۱۹ بهمن ۱۳۹۶ / ۱۱:۰۵ ب٫ظ

    سلام خانم خاکزاد :
    اول یک مثال برای ترکیب ۲ تابع Vlookup و if بزنید ،
    ویک مثال هم برای ترکیب Index و Match وIF مرا راهنمائی کنید.
    اگه ممکنه داخل تلگرام بفرستید تا بقیه استفاده ببرنند.
    با کمال تشکر از زحمات شما

    • آواتار
      حسنا خاکزاد ۲۳ بهمن ۱۳۹۶ / ۱۰:۱۳ ق٫ظ

      سلام
      داخل سایت سرچ کنید پیدا میکنید:
      https://excelpedia.net/hlookup-function/
      این اموزش رو ببینید. در کامنتها نمونه دلخواه شما ارائه شده

      INDEX یا MATCH رو هم سرچ کنید، چندین آموزش می بینید.
      موفق باشید

  • امید نحوی ۱۹ دی ۱۳۹۶ / ۴:۱۴ ب٫ظ

    در حالت عادی تابع Vlookup موارد تکراری را جستجو نمی کند. یعنی اگر در ستون نام شرکت، بیش از یک شرکت E وجود داشته باشد، Vlookup همواره به مورد اول که برسد، همان را بر می گرداند و موارد بعدی را جستجو نمی کند. البته برای برطرف کردن این موضوع ترفندهایی می شود بکار بست که در آینده حتما به آنها خواهم پرداخت.

    سلام می خواستم بدونم آیا این ترفند را در جایی توضیح داده اید ، لطفا لینک صفحه را برایم بفرستید

    • آواتار
      حسنا خاکزاد ۲۰ دی ۱۳۹۶ / ۹:۱۶ ق٫ظ

      سلام
      اموزشی برای این موضوع هنوز تهیه نشده.
      ولی چندتا روش:
      ۱- استفاده از توابع Index و Row و If ….. بصورت آرایه ای.
      ۲- شماره گذاری موارد تکراری و بعد vlookup کردن شماره های ایجاد شده.

  • Mojtaba Goodarzi ۱۳ شهریور ۱۳۹۶ / ۱۲:۲۲ ب٫ظ

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

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان