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





سلام
یک لیست دارم تعدادی مشتری هستند به صورت نقدی و غیر نقدی که رو به روی ستون مبالغ ، درج شده با چه فرمولی می تونم جمع نقدی ها یا غیر نقدی ها رو در یک سلول جداگانه داشته باشم
درود بر شما
از تابع sumif استفاده کنید
سلام
در یک فایل حدود ۲۰۰ شیت دارم میخوام ردیف ۷۰ همه این شیت هارو در یک شیت جدا جمع کنم . چطوری این کار رو انجام بدم ؟
سلام
از فرمولی با ساختار زیر استفاده کنید:
این فرمول جمع تمام سلول های ستون A تا N ردیف ۷۰ در تمام شیت های بین Sheet1 تا Sheet200 رو به شما میده
کافیه اسم شیت های اول و آخر رو در فرمول بالا و آدرس سلول ها رو عوض کنید و در فایل خودتون استفاده کنید.
سلام و خسته نباشی. این نکته ۲ای که گفتید مثلا اسم یه شرکت دوبار یا بیشتر تو ستون بیاد فقط اولین مورد و شناسایی میکنه راه حلش چیه.
درود بر شما
راه حل استفاده از توابع جستجو مثل index, small, if و …. بصورت آرایه ای هست
باسلام واحترام
در فرمول تبدیل عدد به حروف چطوری میتونیم ثابتش کنیم الان هروقت که فایل اکسل رو بازمیکنم فرمولش رو باید اینزرت کنم چطوری میشه استیبلش کرد
درود بر شما
این مقاله رو مطالعه بفرمایید. مطابق GIF عمل کنید
https://excelpedia.net/number-to-text/
سلام من یک فایل اکسل دارم که فرمول ویلوکاپ داره میخوام فرمولهاش ولوکاپ نباشه تا بتونم تو یک شیط دیگه کپی کنم لطفا منو راهنمایی کنید . سپاسگزارم
سلام
اگر منظورتون اینه که فقط نتیجه فرمول که عدد یا متن هست رو منتقل کنید از Paste Special استفاده کنید.
با سلام و خدا قوت
من بالغ بر ۱۴ سال با اکسل کارکردم و الان فرمول نویسیم خوب است و به واسطه شغلم (حسابداری حقوق و دستمزد ) مدام با اکسل کارمیکنم ، میخوام بدونم VBA را از کجا شروع کنم
با سپاس
رضا خدائی میدانجق
سلام
تجربه در اکسل به یادگیری سریعتر VBA کمک میکنه، پیشنهاد میکنیم حتما لینک زیر رو مشاهده کنید:
دوره حضوری و غیر حضوری VBA
عالی . دو روز بود دستور رو اجرا میکردم جواب نمیداد. بخاطر text بودن سلولها
سپاس بخاطر راهنمایی
سلام
در یه ستون ۱۰۰ ردیف مبلغ دارم. مثلا در یه سلول مبلغ ۵۴۰۰۰ رو که نوشتم میخام سلولهایی که حاصل جمعشون میشه ۵۴۰۰۰ برام مشخص بشه. آیا فرمولی هست که بشه این کار رو برامون انجام بده؟ (به بیان دیگه، پیدا کردن جزئیات یک عدد در ستون) ماکرو هم بلد نیستم ممنون میشم راهنمایی بفرمایید
سلام
تنها با VBA میشه این کار رو کرد که با توجه به اینکه حالت های خیلی زیادی برای تجمیع این اعداد و مقایسه با عدد مورد وجود داره با توضیحی که فرمودید نمیشه کاری کرد.
سلام و وقت بخیر –
ممنون بابت آموزش قدم به قدم
یک مشکلی که هست برای تمرین دیتا پیدا نمیکنم
دوستی بهم گفت خودت تولید کن
تولید یک دیتا خیلی زمان بره- راهی هست بشه اینکارو سریع انجام داد؟
سلام،
از تابع Randbetween استفاده کنید. ضمن اینکه با جستجو دیتابیس های زیادی پیدا میشه
سلام. روزتون بخیر.
یه سوال داشتم ، من یه جدول دارم که ازش توی لیست کشویی استفاده کردم. میخوام تو یه خونه مقدار ستون بعدی چیزی که انتخاب کردم رو نشون بده، این امکانش هست؟ مثلاً هر محصوال که انتخاب شد، بیاد خونه بقلیش که مربوط به قیمت همون محصول هست رو نشون بده.
درود بر شما
دقیقا با همین تابع vlookup در اموزش بالا شدنی هست