سبد خرید
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 لیسانس بودم، به توصیه استاد مشاورم شروع به خوندن اکسل بصورت حرفه ای کردم و همچنان در حال مطالعه و یادگیری و البته آموزش به بقیه هستم.

دیدگاه کاربران
  • عیسی ۲۹ خرداد ۱۳۹۸ / ۵:۰۸ ب٫ظ

    سلام
    جدولی دارم که روزانه در آن داده وارد مینکم پس محتویات جدول رو چندین بار در روز بعد از ذخیره پاک مینکم. آیا میشه کاری کرد که با زدن deldet تیتر جدول و سایر موارد که در جدول ثابت هستن پاک نشن؟

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

      درود بر شما
      با کدنویسی میتونید کنترل کنید این موضوع رو

  • amirreza ۲۹ خرداد ۱۳۹۸ / ۸:۲۵ ق٫ظ

    سلام و با تشکر از آموزش های خوبتون
    در رابطه با داده های تکراری در این تابع چه باید کرد؟(در متن نوشتید در ترفند هایی وجود دارد)

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

      درود بر شما
      یا باید از ستون کمکی استفاده کنید و شماره بزنید موارد یونیک رو. بعد شماره ها رو جستجو کنید.

      یا از فرمو ل نویسی آرایه ای استفاده کنید:(با فرض اینکه داده ها در ستون A هستند و شما دنبال عبارت های Yes می گردید:

      =index(A1:D100,small(if(A1:A100="yes",row(A1:A100),""),row(A1)),2)

      ctrl+shift+enter

      آشنایی بیشتر با فرمول نویسی آرایه ای:
      https://excelpedia.net/array-formula/

  • عیسی ۲۲ خرداد ۱۳۹۸ / ۱۱:۳۰ ق٫ظ

    سلام
    در تابع if میگم که اگر سلول A2 پر باشه نتیجه تابع vlookup رو واسم نشون بده در غیر اینصورت سلول رو خالی بذاره. IF(A2″”;VLOOKUP(A2;I:J;2;0);””)
    ولی بجای اینکه سلول رو خالی بذاره مینویسه #N/A
    مشکل چی میتونه باشه؟

    • سامان چراغی ۲۲ خرداد ۱۳۹۸ / ۱۱:۳۹ ق٫ظ

      خطای NA# در فرمول شده به خاطر پیدا نکردن اطلاعاتی هست که تو سلول A2 نوشته شده.
      به جای فرمول خودتون از تابع IFERROR استفاده کنید. فرمول زیر جایگزین بهتری هست:

      =IFERROR(VLOOKUP(A2;I:J;2;0),"")
      • عیسی ۲۹ خرداد ۱۳۹۸ / ۱۱:۵۱ ق٫ظ

        خیلی ممنونم بابت زحماتی که میکشید

  • عیسی ۱۹ خرداد ۱۳۹۸ / ۱:۵۶ ب٫ظ

    سلام
    آیا تابعی هست که بشه ساعت و تاریخ رو نشون بده؟

    • سامان چراغی ۱۹ خرداد ۱۳۹۸ / ۲:۴۲ ب٫ظ

      سلام
      بله تابع Now یکی از توابع تاریخ هست که تاریخ و ساعت فعلی سیستم را نشان میدهد.

      • عیسی ۱۹ خرداد ۱۳۹۸ / ۳:۴۳ ب٫ظ

        خیلی ممنون از شما زوج محترم
        منظورم از تاریخ و ساعت اینه که در سلول مورد نظر ساعت رو بصورت ثانیه شمار نشون بده و اگر روز تغییر کرد تاریخ بطور خودکار عوض بشه.

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

          خواهش میکنم
          تابع now() تاریخ و زمان فعلی سیستم رو میده و با هر بار رفرش شدن صفحه نتیجه اپدیت میشه
          اگر بخواید در فواصل کم این اپدیت بشه باید کدنویسی کنید

  • فرزانه ۱۷ فروردین ۱۳۹۸ / ۲:۵۹ ب٫ظ

    سلام ممنونم دوست بزرگوار. من طبق فایل تونستم ب VLOOKUP کارکنم. اماسوالی دارم. من میخوام فاکتور فروش صادرکنم و دریک شیت اطلاعات اصلی رادارم و در شیت دیگه میخوام فقط بازدن شماره فاکتور جدید همه اطلاعات بروز بشه. ازاونجاکه در شیت اطلاعاتم داره سطرجدیداضاف میشه چجوری میتونم فرمول VLOOKUP کارکنم که بازدن شماره فاکتورجدید بره اطلاعات سطر واردشده جدید راابیاره؟؟؟ فرکنم با IFERROR بشه اماچجوریشو نمیدونم. میشه کمکم کنید

    • سامان چراغی ۱۷ فروردین ۱۳۹۸ / ۹:۱۰ ب٫ظ

      سلام، برای اینکار حتما باید جدول اصلی رو به صورت Table تعریف کرده باشید و در آرگومان های تابع Vlookup از نامگذاری که Table برای دیتابیس شما ایجاد میکنه استفاده کنید.
      از آنجائیکه محدوده Table با اضافه شدن سطرهای جدید به صورت خودکار گسترده میشه، موارد جدید هم به عنوان نتیجه فرمول شما خواهد آمد.
      از طرفی استفاده از تابع Iferror ضروری هست، چون ممکنه شماره فاکتوری که وارد کردید در دیتابیس وجود نداشته باشه و به جای خطا بهتره موارد دیگه ای نمایش داده بشه.

  • hamid pakdel ۲۵ بهمن ۱۳۹۷ / ۹:۴۲ ق٫ظ

    با سلام و درود
    با تشکر از سایت و مطالب بسیار خوب و آموزنده شما
    یه سوال از شما داشتم
    آیا امکان انتقال همزمان اطلاعات از شیت مرجع به شیت دیگه براساس شرط مثلا نام افراد هست؟از چه تابعی باید استفاده کرد؟
    ممنون از راهنمایی شما

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

      درود بر شما
      همین تابع vlookup که انتهاش کامنت گذاشتید، اینکار رو میکنه

  • h_koohdar ۸ دی ۱۳۹۷ / ۸:۲۴ ق٫ظ

    سلام و عرض ادب.
    تابع vlookupall رو نتونستم روی ایمیلم باز کنم.
    ممکنه برام ارسال کنید.
    h.koohdar@mehrcampars.com

    • حسین کوهدار ۱ بهمن ۱۳۹۷ / ۹:۳۹ ق٫ظ

      سلام
      لطفا مثالی در خصوصvlookupall بزنید ممنون

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

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

  • متین ۳ دی ۱۳۹۷ / ۳:۰۶ ب٫ظ

    سلام
    من یکسری داده اصلی دارم که شامل کد افراد و مشخصات و اطلاعاتشون هست و تقریبا ۳۸۳۰۰ نمونه هستش و در اکسل دیگری هزینه خالص بعضی اغلام تهیه شده که که میخوام وارد اکسل داده‎های اصلیم کنم،طوری که هزینه هر فرد در سطر مربوط به فرد خودش قرار بگیره.به من گفتن که با روش vlookup انجام بدم.اما چیزی که اینجا خوندم یک کار تک به تک هستش و برای این حجم داده بسیار سنگین…بنظر شما از چه روشی میشه انجام داد..این هم بگم که مرج نمیشه کرد،چون داده‏‎ها وارد نرم‎افزار دیگه‎ای برا تحلیل میشه که در صورت مرج همه چی بهم میخوره.

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

      درود بر شما
      vlookup تک به تگ نیست و کافیه فرمولی که نوشتید رو درگ کنید تا برای همه داد ه ها انجام بشه.
      راه دیگه هم کدنویسی هست که ممکنه مقداری مشکل تر باشه براتون.

  • مهدی ۲۵ آذر ۱۳۹۷ / ۲:۰۸ ب٫ظ

    باسلام
    اگر بخواهیم متن بجای عدد برگرداند از چه تابعی باید استفاده کرد.

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

      درود بر شما
      تابع vlookup کاری به محتوای داخل سلول نداره
      چه متن باشه چه عدد. هر دو رو فراخوانی میکنه

  • جواد شاد ۲۰ آذر ۱۳۹۷ / ۹:۲۵ ق٫ظ

    باسلام واحترام و عرض خسته نباشید
    اینجانب در اکسل خیلی کارمیکنم و کار با جدول خیلی داریم ولی میخواهم از فرمول ولوکاپ استفاده کنم در اکسل ۲۰۱۶ ولی هنوز نتونستم فایل هاو ویدوهای آموزشی نیز استفاده کردم ولی هنوز به نتیجه نرسیدم اگه لطف کنین و راهنمائی کنین متشکرم

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

      درود بر شما
      اگر زیاد کار میکنید، آموزش هم دیدید، این مقاله رو هم خوندید، قاعدتا دیگه باید بشه.
      ولی خب حالا این مقاله رو هم بخونید. امیدوارم حل بشه:
      https://excelpedia.net/vlookup-problems/

ارسال دیدگاه

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

توسط
تومان