
آشنایی با تابع 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 دیده میشود.
یکی از علل این مسئله جنس داده ها است. به این معنی که اعداد به صورت متن درآمده اند. در این مواقع بهتر است همه اعدادی که جنس عدد ندارند را در عدد یک ضرب کنیم تا به صورت عدد شناسایی شوند و در محاسبات این تابع در نظر گرفته شوند.





سلام وقت بخیر
اول ممنون از راهنمایی که قبلا کردین بعد اینکه من از تابع vlookup استفاده میکنم فرمول رو دست میزنم مثلاvlookup(b5,l5:m4514,2,0
ولی وقتی میخوام که تمام ستون همین فرمول کپی بشه محدوده جست جو مثلا اگه اول l5:m4514 بزنم موقعی که دارم کپی میکنم این محدوده تغییر میکند حالا میخواستم ببینم راهی هست برای کپی کردن که این محدوده تغییر نکنه و فقط b5 تغییر کند. با تشکر
درود بر شما
این لینک رو بخونید
کامل توضیح داده شده:
http://excelpedia.net/cell-address/
سلام
وقتتون بخیر
ممنون از مطالب خوب و مفیدتون
سوالی ازتون داشتم که ممنون میشم اگر راهنمایی بفرمایید.
جدولی در اکسل دارم با ۳۰۰ سطر و ۱۰ ستون و می خواهم تمام سطرهایی که در ستون B آنها PM نوشته شده و در ستون D آنها Z2 نوشته شده ، ستون E این سطرها با هم جمع شده و در یک سلول در یک شیت دیگر قرار بگیرد.
ممنون از شما
درود بر شما
از تابع sumifs استفاده کنید
https://excelpedia.net/sumifs-function/
سلام
دنبال یک فرمول مانند vlookupهستم با این تفاوت که اخرین مقدار دریافتی را به من نمایش دهد
در vlookupمقدار اولی که دریافت می کند را به من نمایش میدهد
به نظر شما چنین فرمولی وجود دارد؟
ممنون میشم اگه راهنمایی بفرمایید
درود بر شما
اگر شرایط استفاده از lookup رو دارید، از اون استفاده کنید
و الا، از ترکیب index large و . … بصورت آرایه ای باید استفاده کنید
سلام
من لیستی از ابعاد یک محصول به همراه تعداد هر کدام دارم. میخواهم نام اولین محصول با ابعاد کوچکتر که پایین تر از مثلا سلول الف۱ است را در مقابل سلول الف ۱ بنویسم.
لطفا راهنمایی کنید از چه تابعی باید استفاده کنم. متشکرم
درود بر شما
خیلی بستگی به ساختار داده ها داره اما بصورت کلی فکر میکنم با تابع 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 کردن شماره های ایجاد شده.
با سلام و احترام ،
از زحمات شما بسیار متشکرم، آموزش ها و مثال های بسیار خوبی را در نظر گرفته اید . امیدوارم همیشه موفق باشید.