تابع VLOOKUP در اکسل مقداری را در ستون اول یک محدوده معین پیدا میکند و مقدار دیگری را در همان ردیف، از ستون دیگر برمیگرداند. این تابع در دسته توابع مرجع و جستجو (Lookup & Reference) قرار دارد. تابع VLOOKUP، یکی از توابع مفید Excel و در عین حال یکی از پیچیدهترین آنهاست. من سعی میکنم تا اصول اولیه را با زبانی ساده توضیح بدهم تا یادگیری برای یک کاربر مبتدی تا حد امکان آسان شود. در این آموزش نحوه عملکرد تابع VLOOKUP با استفاده از دادههای یک کاربرگ دیگر و همچنین ترکیب این تابع با تابع MATCH توضیح داده میشود.
نکته: حرف “V” که در ابتدای نام این تابع آمده است مخفف کلمه “Vertical” یعنی عمودی است. این حرف برای تمایز تابع VLOOKUP از تابع HLOOKUP استفاده میشود. تابع HLOOKUP به جای ستون، مقادیر را در یک ردیف جستجو میکند. حرف H در ابتدای نام تابع HLOOKUP مخفف کلمه “Horizontal” یعنی افقی است.
در این آموزش از ترکیب تابع VLOOKUP با توابع دیگر مرجع هم استفاده کردهایم. پیشنهاد میکنم برای یادگیری بهتر آموزشهای زیر را هم مطالعه کنید:
ساختار تابع VLOOKUP در اکسل
ساختار تابع VLOOKUP در اکسل به شکل زیر است:
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
- Lookup_value: مقداری که میخواهید در اولین ستون جدول جستجو کنید در این قسمت قرار دهید. این مقدار میتواند عدد، تاریخ، متن، آدرس سلول و مقدار برگردانده شده توسط یک تابع دیگر باشد. مقادیر متنی همیشه باید در ” ” محصور شوند.
- Table_array: محدوده موردنظر که میخواهید جستجو در آن انجام شود که شامل دو یا چند ستون از داده است. تابع VLOOKUP همیشه در ستون اول جدول، مقدار موردنظر را جستجو میکند که ممکن است حاوی متن، اعداد، تاریخ و مقادیر منطقی باشد.
- Col_index_num: شماره ستونی که میخواهید مقدار موردنظر از آن بازگردانده شود را در این قسمت تایپ کنید. شمارش از سمت چپترین ستون انجام میشود. شماره ۱ به سمت چپترین ستون اختصاص مییابد، ستون بعد شماره ۲ تا الی آخر. (وقتی صفحه اکسل چپ به راست باشد.)
- Range_lookup: در این قسمت تعیین کنید که آیا برای جستجو به مطابقت تقریبی یا دقیق نیاز دارید.
-
- TRUE(مطابقت تقریبی): اگر تطابق دقیقی پیدا نشود، فرمول نزدیکترین مطابقت را جستجو میکند، یعنی بزرگترین مقدار کوچکتر از مقدار جستجو را پیدا میکند. ستون جستجو نیاز به مرتب سازی به ترتیب صعودی دارد.
- FALSE (مطابقت دقیق): این فرمول مقداری دقیقاً برابر با مقدار جستجو را پیدا میکند.
نکته: سه آرگومان اول ضروری هستند و آرگومان چهارم اختیاری است.
برای درک بهتر آرگومانهای تابع VLOOKUP در تصویر زیر آرگومانها، جهت جستجوی تابع و جهت شمارهگذاری ستونها را در یک مثال در حالت راست به چپ صفحه مشخص کردهام.
مثال ۱: عملکرد تابع VLOOKUP در اکسل
فرض کنید یک استاد دانشگاه هستید و نمرات آزمون اولیه، میان ترم و پایان ترم دانشجویان را در یک فایل اکسل وارد کردهاید. حالا میخواهید بدانید یک دانشجوی خاص مثلا “کاوه ارجمند” یا هر کدام از دانشجویانتان چه نمرهای را در “آزمون اولیه” درس “ریاضی ۲” کسب کردهاند.
برای این کار نمرات دانشجویان را در ۳ کاربرگ (Sheet) به نامهای “آزمون اولیه”، “آزمون میان ترم” و “آزمون پایان ترم” وارد کنید.
حالا برای راحتی کار ابتدا یک لیست کشویی از اسامی دانشجویان ایجاد کنید. (نحوه ایجاد لیست کشویی را در آموزش تابع CHOOSE به طور کامل توضیح دادهام.( برای این کار یک سلول (F1) را انتخاب کنید. سپس از سربرگ Data روی ابزار Data validation کلیک کنید.
پنجره Data Validation باز میشود. در قسمت Allow گزینه List را انتخاب کنید و در قسمت Source سلولهای (A3:A8) را انتخاب کنید. روی OK کلیک کنید.
خوب حالا لیست شما آماده است.
یک سلول را به عنوان سلول نتیجه (F2) در نظر بگیرید. سپس در نوار فرمول نرمافزار روی Fx کلیک کنید. (یا اینکه کلیدهای Shift+F3 را فشار دهید.)
پنجره Inert Function باز میشود. از دسته توابع جستجو و مرجع (Lookup & Reference) تابع VLOOKUP را انتخاب کنید و روی OK کلیک کنید.
پنجره Function Argumentes باز میشود. در کادر Lookup_value کلیک کرده و سلول F1 (لیست کشویی اسامی دانشجویان را در آن ایجاد کردهاید.) را انتخاب کنید. سپس در کادر Table_array کلیک کرده و محدوده موردنظر (A3:C8) را انتخاب کنید. حالا در کادر Col_index_num عدد ۳ (ستون نمرات درس ریاضی ۲) را تایپ کنید. سپس در کادر Range_lookup مقدار FALSE را برای مطابقت کامل تایپ کنید. در نهایت روی OK کلیک کنید.
مثال ۲: استفاده تابع VLOOKUP از دادههای کاربرگهای مختلف
بعضی اوقات مجبور هستید از دادههای موجود در کاربرگهای دیگر استفاده کنید. فرض کنید، میخواهید در کاربرگ ۱ نمره “آزمون میان ترم” (که در کاربرگ دیگری قرار دارد.) درس “ریاضی ۱” یک دانشجوی خاص مثلا “کاوه ارجمند” را ببینید. برای این کار مراحل مثال قبل را طی کنید. این بار در پنجره Function Argumentes در کادر Lookup_value کلیک کرده و سلول H1 را انتخاب کنید.
سپس در کادر Table_array کلیک کرده و به کاربرگ نمرات آزمون میان ترم بروید و محدوده موردنظر را انتخاب کنید (A3:C8) همانطور که میبینید بعد از نام کاربرگ علامت ! درج میشود و سپس محدوده موردنظر قرار میگیرد. در کادر Col_index_num عدد ۳ (ستون مربوط به نمرات ریاضی) را تایپ کنید. سپس در کادر Range_lookup مقدار FALSE را برای مطابقت کامل انتخاب کنید. در نهایت روی OK کلیک کنید.
پس توجه داشته باشید برای استفاده از دادههای یک کاربرگ دیگر در اکسل، قبل از محدوده موردنظر، نام کاربرگ را به همراه یک علامت تعجب در کادر Table_array قرار دهید. در مثال من فرمول به شکل زیر است.
VLOOKUP(F1,’آزمون میان ترم’!A3:C8,3,FALSE)
در تصویر زیر، تصاویر کاربرگهای “آزمون اولیه” و “آزمون میان ترم” را با هم ادغام کردهام تا مطلب را بهتر درک کنید.
مثال ۳: ترکیب تابع VLOOKUP و MATCH و استفاده از دو لیست کشویی
حالا فرض کنید میخواهید در کاربرگ نمرات پایان ترم، هم برای اسامی دانشجویان و هم برای اسامی درسها لیست کشویی درست کنید و با تغییر لیستها نمرات دانشجویان را ببینید. برای این کار در سلول F1 لیست کشویی برای اسامی دانشجویان درست کنید.
در سلول E2 یک لیست کشویی برای اسامی درسها درست کنید.
حالا در سلول F2 فرمول زیر را تایپ کنید.
VLOOKUP(F1,A3:C8,MATCH(E2,A2:C2,0)0)
با تغییر اسامی هر لیست نمره موردنظر نمایش داده میشود. به همین راحتی!
چند نکته درباره تابع VLOOKUP در اکسل
- تابع VLOOKUP در حالت چپ به راست صفحه نمیتواند به سمت چپ ستون اول محدوده موردنظر شما و در حالت راست به چپ نمیتواند به سمت راست ستون اول محدوده موردنظر شما دسترسی پیدا کند. اگر نمیخواهید محدودیتی در این مورد داشته باشید، از ترکیب توابع INDEX و MATCH استفاده کنید. (ترکیب این توابع در آموزش تابع INDEX توضیح داده شده است.)
- تابع VLOOKUP به حروف بزرگ و کوچک حساس نیست.
- در مورد آخرین آرگومان تابع VLOOKUP یعنی Rang_lookup به یاد داشته باشید که از مقدار TRUE برای مطابقت تقریبی و از مقدار FALSE برای مطابقت کامل استفاده کنید. هنگام جستجو بر اساس تطابق تقریبی (TRUE)، اطمینان حاصل کنید که دادههای ستون جستجو به ترتیب صعودی طبقهبندی شدهاند. اگر در تطابق کامل (FALSE) مقدار جستجو یافت نشد، تابع VLOOKUP خطای N/A# را برمیگرداند.
- از کاراکترهای Wildcard مثل علامت * و علامت ؟ هم میتوانید در تابع VLOOKUP استفاده کنید.
جمعبندی
در این آموزش تابع VLOOKUP در اکسل و برخی نکات مربوط به آن را گفتیم. ترکیب توابع در اکسل قدرت بینظیری به آنها میدهد. سعی کنید توابع را ترکیب کنید و از نتایج به دست آمده شگفتزده شوید!
با سلام
میخاستم بدونم به چه صورتی میشه تابع vlookup و max رو با هم ادغام کنم؟؟ من یک سری داده دارم که برای هر کد دو عدد وجود دارد که یکی بزرگتر و یکی کوچکتر است. میخاهم عدد بزرگتر نمایش داده شود. لطفا راهنمایی کنید. با تشکر
سلام. واسه آرگومان سوم همون ستونی رو انتخاب کنین که اعداد بزرگتر در اون هست.
سلام ضمن تشکر از مطالب کامل شما
چطوری میشه از یک تیبل که داریم با دستورات ایندکس و مچ که داریم داده های تکراری و زیر هم لیست کنیم با استفاده از لیست یا لیست هوایی که با هر تغییر سطر هامون فیلتر بشن
ممنونم از راهنمایی شما
فکر کنم منظور دوستمون اینه
مثلا لیست قیمت یک محصول هست
از این محصول چندبار خرید شده ما میخایم بالاترین قیمت خرید رو پیدا کنه ، آخه تابع اولین داده رو پیدا میکنه، برای این که به تابع بگیم بزرگترین مقدار رو پیدا کن چیکار بکنیم؟
با سلام و احترام
امکان اینکه تابع vlookup از چپ به راست جستجو کند هست
راهنمایی بفرمائید
سلام. در حالت چپ به راست همه چیز تغییر می کنه مثل جهت شماره گذاری ستون ها و اولین ستون و… داده هاتون فارسی هستند یا انگلیسی؟
سلام ممنون از توضیحات کاملتون
فقط اینکه در قسمت ادغام VLOOKUP و MATC بعد از =VLOOKUP لیست کشویی دانش اموزان را نمی شناسد و ارور میدهد چرا؟
سلام. خواهش می کنم. در نوشتن فرمولهای ترکیبی خیلی دقت کنید هر علامت یا فاصله بیجا باعث میشه که جواب نگیرید.
سلام و ممنون از پیج کاربردی و خوب تون
یه سوال مهم دارم
در فرمول vlookup میتوانیم به جای یک ستون ، دو ستون مشترک را بصورت تلفیقی انتخاب و دیتاها رو از شیت دیگر به شیت اصلی بیاریم
فرض کنید نام کارشناس – بازه ریالی پرونده ها – تعدا پرونده – مبلغ پرونده
من میخوام علاوه بر نام کارشناس ، ستون بازه ریالی پرونده ها را هم select کنم و تعداد و ریال پرونده ها را به شیت دیگر ویلوکاپ بزنم؟
سلام من تو ستون اول ممکنه چند تا نام مشابه داشته باشم میخواستم موقع خروجی گرفتن همه اون نام های مشابه در چند سطر نمایش داده شوند در این صورت چه تابع ای میتونم بنویسم؟
سلام خسته نباشید. من یک فایل با حدود ۵۰۰ نیرو دارم و میخوام در قسمت آدرس منزل کاری کنم که سرچ بکنه و نزدیکترین شعبه های اطراف محل زندگیشون رو به هر کسی پیشنهاد بده تا بتونیم برای تقسیم بندی افراد بهترین شعبه رو در نظر بگیریم. ممنون میشم اگر کمکم کنید.
سلام خسته نباشید.اگر لطف کنین سوال منو جواب بدین خیلی ممنونتون میشم.۳ هفته پیش کامنت گذاشتم ولی متاسفانه جواب داده نشده
سلام. عذرخواهم بابت تاخیر در پاسخگویی . ببینید تابع vlookup که نمیتونه تشخیص بده کدوم مکان بهتره بلکه فقط مقداری خاص رو از ستونی که انتخاب می کنید استخراج میکنه. برای این کار باید به راه حل دیگه ای باشین.
با سلام و تشکر از استاد
سوالم این است که آیا این تابع بین دو تا فایل اکسل مجزا هم کار می کند یا خیر؟ ودر صورت مثبت بودن جواب مثالی لطف بفرمایید.ممنون
با سلام
با تابع VLOOKUP مقدار یک سلول که با TRANCRIPT بصورت تواندار نوشته شده را برگردانم . مقدار برمیگرده ولی مثلا سانتی متر مکعب بصورت cm3 نشان داده میشه و تواندار نیست .
ممنون میشم راهنماییم کنید
سلام وقت بخیر. از یک لیست که در اکسل ازش خروجی گرفته شده وشامل اسامی آقایان وخانم ها است و۱۷۰۰رکورد داره میخوام ببینم میشه اسامی زن ومرد رو از هم جدا کنم؟
ببخشید اگه ما بخوایم یه فایل (که از قبل وجود داره )رو بعنوان table-array به اکسل معرفی کنیم چطور باید عمل کنیم؟
سلام مرسی از شما فرمولم را اشتباه می نوشتم (۰,) خیلی لطف کردید
سلام. خواهش میکنم. موفق باشید.
یک سوال در ویلوکاپ
میخوام آخرین دیتا رو در ستون برای یک داده با ویلوکاپ فراخون کنم اما ویلوکاپ اولین دیتا رو میاره؟ راه حل بدید ممنونم.
ممنون از مطلب خوبتون ولی مشکل اینجاست آموزش صحیح نیست .معلم خوب معلمی هست که بتونه مطلب رو به درستی انتقال بده.خیلیها هستن دانش کاری رو دارند ولی معلم خوبی نیستن و نمیدونن مطلب رو چطور انتقال بدن
سلام. سال نو شما مبارک. کدوم قسمت از آموزش مشکل داشت؟ که ما بتونیم اون رو رفع و اصلاح کنیم.