
آشنایی با تابع Vlookup اکسل
جستجو و فراخوانی در اکسل، از مباحث حرفه ای و کاربردی به شمار می رود. به همین منظور است که یک دسته از توابع در اکسل به این موضوع مهم اختصاص داده شده است. دسته توابع Lookup & Reference، همه توابع مربوط به جستجو و فراخوانی و ارجاع را در خود جای داده است. توابع موجود در این دسته از اهمیت بسیار زیادی برخوردار هستند. مخصوصا که این توابع هنگامی که با یکدیگر و سایر توابع ترکیب می شوند نتایج فوق العاده ای خلق می کنند. یک فرد حرفه ای در اکسل، لازم است مهارت و تسلط زیادی روی این دسته از توابع داشته باشد. یکی از معروف ترین توابع از این دسته، تابع Vlookup اکسل است.
بسیاری از مواقع نیاز داریم که از یک دیتابیس یا همان بانک اطلاعاتی، داده ای را جستجو کرده و فراخونی کنیم. مثلا یک بانک اطلاعاتی از اطلاعات کارکنان یک شرکت شامل کد ملی، نام، نام خانوادگی، میزان تحصیلات، میزان حقوق و … داریم. حالا میخواهیم در جایی دیگر، کد ملی شخص را وارد کرده و سایر اطلاعات مربوط به وی را فراخوانی کنیم. یکی از راه های مناسب برای انجام این کار استفاده از تابع Vlookup اکسل است.
آرگومان های تابع Vlookup اکسل
این تابع شامل چهار آرگومان به شرح زیر است:
Lookup_Value: عبارت یا سلی که میخواهیم جستجو کنیم.
Table_Array: جدولی که جستجو در آن انجام میشود.
Col_index_Num: شماره ستونی از جدول است که میخواهیم برگردانده شود.
Range_Lookup: تعیین میکند که بصورت دقیق جستجو کند یا تخمینی.
تشریح یک مثال حل شده
در ادامه با یک مثال به تشریح آرگومان های این تابع می پردازیم.
در بانک اطلاعاتی زیر کد مشتری و اطلاعات مربوط به خرید هر مشتری موجود است. همانطور که در شکل ۱ مشخص است، می خواهیم کد مشتری را در سل G3 وارد کرده و تاریخ خرید همان مشتری را در سل روبرو (H3)مشاهده کنیم (به این کار فراخوانی گفته می شود).
شکل ۱ – نحوه نوشتن تابع 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, 0 )
در آینده حتما کاربردی خاص از جستجوی تخمینی را ارائه خواهم کرد.
همچنین میتونید آموزش Vlookup از چند شیت یا چند فایل رو مطالعه کنید.
حالا اگر بخواهیم مبلغ خرید را فراخوانی کنیم، فقط کافیست عدد ۵ را به ۴ تغییر دهیم. زیرا مبلغ خرید چهارمین ستون از محدوده جستجو یا همان Table_Array هست.
چند نکته
نکته اول: آیتمی که مورد جستجو قرار می گیرد، همیشه باید در اولین ستون از Table_Array موجود باشد. فرض کنید می خواهیم اطلاعات مربوط به شرکت ها را جستجو کنیم. مثلا می خواهیم مبلغ خرید شرکت E را فراخوانی کنیم. فرمول به شرح شکل۲ تغییر خواهد کرد:

شکل۲ – انتخاب محدوده جستجو در Vlookup
دقت داشته باشید که محدوده جستجو یا همان Table_Array به B1:E16 تغییر کرده چرا که نام شرکت در ستون B قرار دارد و ما میخواهیم نام شرکت را مورد جستجو قرار دهیم. همچنین با توجه به این تغییر، مبلغ خرید، سومین ستون از Table_Array خواهد بود.
نکته دوم: در حالت عادی تابع Vlookup موارد تکراری را جستجو نمی کند. یعنی اگر در ستون نام شرکت، بیش از یک شرکت E وجود داشته باشد، Vlookup همواره به مورد اول که برسد، همان را بر می گرداند و موارد بعدی را جستجو نمی کند. البته برای برطرف کردن این موضوع ترفندهایی می شود بکار بست که در مقاله جستجو موارد تکراری میتونید این مسئله رو حل کنید.
مشکلی که در بسیاری اوقات افراد با آن مواجه میشوند، این است که اعداد در تابع Vlookup پیدا نمیشوند و خروجی تابع، خطای #N/A دیده میشود.
یکی از علل این مسئله جنس داده ها است. به این معنی که اعداد به صورت متن درآمده اند. در این مواقع بهتر است همه اعدادی که جنس عدد ندارند را در عدد یک ضرب کنیم تا به صورت عدد شناسایی شوند و در محاسبات این تابع در نظر گرفته شوند.





سلام
جدولی دارم که روزانه در آن داده وارد مینکم پس محتویات جدول رو چندین بار در روز بعد از ذخیره پاک مینکم. آیا میشه کاری کرد که با زدن deldet تیتر جدول و سایر موارد که در جدول ثابت هستن پاک نشن؟
درود بر شما
با کدنویسی میتونید کنترل کنید این موضوع رو
سلام و با تشکر از آموزش های خوبتون
در رابطه با داده های تکراری در این تابع چه باید کرد؟(در متن نوشتید در ترفند هایی وجود دارد)
درود بر شما
یا باید از ستون کمکی استفاده کنید و شماره بزنید موارد یونیک رو. بعد شماره ها رو جستجو کنید.
یا از فرمو ل نویسی آرایه ای استفاده کنید:(با فرض اینکه داده ها در ستون A هستند و شما دنبال عبارت های Yes می گردید:
ctrl+shift+enter
آشنایی بیشتر با فرمول نویسی آرایه ای:
https://excelpedia.net/array-formula/
سلام
در تابع if میگم که اگر سلول A2 پر باشه نتیجه تابع vlookup رو واسم نشون بده در غیر اینصورت سلول رو خالی بذاره. IF(A2″”;VLOOKUP(A2;I:J;2;0);””)
ولی بجای اینکه سلول رو خالی بذاره مینویسه #N/A
مشکل چی میتونه باشه؟
خطای NA# در فرمول شده به خاطر پیدا نکردن اطلاعاتی هست که تو سلول A2 نوشته شده.
به جای فرمول خودتون از تابع IFERROR استفاده کنید. فرمول زیر جایگزین بهتری هست:
خیلی ممنونم بابت زحماتی که میکشید
سلام
آیا تابعی هست که بشه ساعت و تاریخ رو نشون بده؟
سلام
بله تابع Now یکی از توابع تاریخ هست که تاریخ و ساعت فعلی سیستم را نشان میدهد.
درود بر شما
این دو مقاله رو بخونید
https://excelpedia.net/excel-date-function/
https://excelpedia.net/excel-time-calculation/
خیلی ممنون از شما زوج محترم
منظورم از تاریخ و ساعت اینه که در سلول مورد نظر ساعت رو بصورت ثانیه شمار نشون بده و اگر روز تغییر کرد تاریخ بطور خودکار عوض بشه.
خواهش میکنم
تابع now() تاریخ و زمان فعلی سیستم رو میده و با هر بار رفرش شدن صفحه نتیجه اپدیت میشه
اگر بخواید در فواصل کم این اپدیت بشه باید کدنویسی کنید
سلام ممنونم دوست بزرگوار. من طبق فایل تونستم ب VLOOKUP کارکنم. اماسوالی دارم. من میخوام فاکتور فروش صادرکنم و دریک شیت اطلاعات اصلی رادارم و در شیت دیگه میخوام فقط بازدن شماره فاکتور جدید همه اطلاعات بروز بشه. ازاونجاکه در شیت اطلاعاتم داره سطرجدیداضاف میشه چجوری میتونم فرمول VLOOKUP کارکنم که بازدن شماره فاکتورجدید بره اطلاعات سطر واردشده جدید راابیاره؟؟؟ فرکنم با IFERROR بشه اماچجوریشو نمیدونم. میشه کمکم کنید
سلام، برای اینکار حتما باید جدول اصلی رو به صورت Table تعریف کرده باشید و در آرگومان های تابع Vlookup از نامگذاری که Table برای دیتابیس شما ایجاد میکنه استفاده کنید.
از آنجائیکه محدوده Table با اضافه شدن سطرهای جدید به صورت خودکار گسترده میشه، موارد جدید هم به عنوان نتیجه فرمول شما خواهد آمد.
از طرفی استفاده از تابع Iferror ضروری هست، چون ممکنه شماره فاکتوری که وارد کردید در دیتابیس وجود نداشته باشه و به جای خطا بهتره موارد دیگه ای نمایش داده بشه.
با سلام و درود
با تشکر از سایت و مطالب بسیار خوب و آموزنده شما
یه سوال از شما داشتم
آیا امکان انتقال همزمان اطلاعات از شیت مرجع به شیت دیگه براساس شرط مثلا نام افراد هست؟از چه تابعی باید استفاده کرد؟
ممنون از راهنمایی شما
درود بر شما
همین تابع vlookup که انتهاش کامنت گذاشتید، اینکار رو میکنه
سلام و عرض ادب.
تابع vlookupall رو نتونستم روی ایمیلم باز کنم.
ممکنه برام ارسال کنید.
h.koohdar@mehrcampars.com
سلام
لطفا مثالی در خصوصvlookupall بزنید ممنون
درود بر شما
همچین تابعی بصورت مشخص در اکسل وجود نداره.
با کدنویسی میشه یک سری توابع رو به اکسل اضافه کرد. حالا اینکه چه کدی زدی بشه مهمه و تاثیر بر عملکردش داره.
سلام
من یکسری داده اصلی دارم که شامل کد افراد و مشخصات و اطلاعاتشون هست و تقریبا ۳۸۳۰۰ نمونه هستش و در اکسل دیگری هزینه خالص بعضی اغلام تهیه شده که که میخوام وارد اکسل دادههای اصلیم کنم،طوری که هزینه هر فرد در سطر مربوط به فرد خودش قرار بگیره.به من گفتن که با روش vlookup انجام بدم.اما چیزی که اینجا خوندم یک کار تک به تک هستش و برای این حجم داده بسیار سنگین…بنظر شما از چه روشی میشه انجام داد..این هم بگم که مرج نمیشه کرد،چون دادهها وارد نرمافزار دیگهای برا تحلیل میشه که در صورت مرج همه چی بهم میخوره.
درود بر شما
vlookup تک به تگ نیست و کافیه فرمولی که نوشتید رو درگ کنید تا برای همه داد ه ها انجام بشه.
راه دیگه هم کدنویسی هست که ممکنه مقداری مشکل تر باشه براتون.
باسلام
اگر بخواهیم متن بجای عدد برگرداند از چه تابعی باید استفاده کرد.
درود بر شما
تابع vlookup کاری به محتوای داخل سلول نداره
چه متن باشه چه عدد. هر دو رو فراخوانی میکنه
باسلام واحترام و عرض خسته نباشید
اینجانب در اکسل خیلی کارمیکنم و کار با جدول خیلی داریم ولی میخواهم از فرمول ولوکاپ استفاده کنم در اکسل ۲۰۱۶ ولی هنوز نتونستم فایل هاو ویدوهای آموزشی نیز استفاده کردم ولی هنوز به نتیجه نرسیدم اگه لطف کنین و راهنمائی کنین متشکرم
درود بر شما
اگر زیاد کار میکنید، آموزش هم دیدید، این مقاله رو هم خوندید، قاعدتا دیگه باید بشه.
ولی خب حالا این مقاله رو هم بخونید. امیدوارم حل بشه:
https://excelpedia.net/vlookup-problems/