
کاربردی جالب از تابع Vlookup برای جستجوی حدودی
آیا تاکنون در اکسل به این مسئله برخورد کرده اید که بازه های عددی زیادی داشته باشید و بخواهید اعداد مختلفی را در آن ها جستجو کنید؟ (شکل ۱) مثلا میخواهیم بدانیم که عدد ۳۲۰ در کدام گروه قرار می گیرد؟ در واقع قصد داشته باشید جستجوی بازه ای یا جستجو حدودی انجام بدید. حل این مسئله روش های مختلفی دارد که در این آموزش قصد داریم کاربردی جالب از فرمول Vlookup در اکسل را برای حل این موضوع شرح بدیم.
شکل ۱- دیتابیس بازه ای
شاید راه حلی که در نگاه اول به ذهن برسد استفاده از if متداخل یا nested if باشد. به این صورت که برای هر بازه، یک if در نظر گرفته شود. اما همانطور که مشخص است، علاوه بر اینکه کار سخت و زمانبری به نظر می رسد، ویرایش آن بسیار دشوار خواهد بود. مثلا اگر ابتدا و انتهای بازه، تغییر کند، کل فرمول را باید اصلاح کرد.
در اینجا راه حلی را با استفاده از فرمول Vlookup در اکسل ارائه خواهیم کرد که بسیار سریع، راحت و انعطاف پذیر در صورت تغییر خواهد بود.
همانطور که قبلا در آموزش تابع Vlookup توضیح داده ایم، آرگومان چهارم این تابع می تواند دو مقدار ۰ یا ۱ را بگیرد. در این آموزش توضیح داده شد که این آرگومان اصولا ۰ قرار داده می شود که بتواند جستجوی دقیق یا Exact Match را انجام دهد. اما چه مواقعی این آرگومان رو ۱ یعنی Approximate Match میگذاریم؟ یکی از کاربردهای این حالت، همین جستجوی بازه ای (تخمینی) هست. با یک مثال بیشتر توضیح میدیم:
مثلا می خواهیم ببینیم عدد ۴۹۹ در کدام گروه قرار میگیرد؟ با توجه به اینکه عدد ۴۹۹ در هیچ یک از این سلول ها وجود ندارد، پس نمیتوانیم به صورت دقیق جستجو انجام بدیم و میخواهیم کاری کنیم که جستجوی بازه ای صورت گیرد.
برای این کار اول باید جدولی رو آماده کنیم که به عنوان Table Array مورد استفاده قرار گیرد. پس بازه های مورد نظر را تایپ کرده و جدول را ایجاد میکنیم. در شکل ۲ ستون A ابتدای بازه و ستون B انتهای بازه و ستون C گروه بندی وارد شده. دقت داشته باشید که این داده ها باید مرتب و از کوچک به بزرگ در جدول چیده شوند که جستجوی تخمینی بتواند صورت گیرد.
مطابق شکل ۲، در سلول F6 تابع Vlookup را می نویسیم و آرگومان آخر را ۱ قرار می دهیم. مقدار Lookup Value یا چیزی که مورد جستجو قرار گرفته، همان عدد ۴۹۹ هست. جدول جستجو هم محدوده A1:C8 هست. میخواهیم بصورت تخمینی جستجو کند و عدد ۴۹۹ را در ستون اول پیدا کند و داده مرتبط با آن را در ستون سوم نمایش دهد. پس آرگومان Col_index عدد ۳ خواهد بود. آرگومان آخر هم طبق توضیحاتی که ارائه شد، عدد ۱ یا مقدار True قرار داده می شود.
توجه داشته باشید که می توانیم ستون B را حذف کنیم (برای درک بهتر مفهوم بازه، جدول را به این صورت نمایش دادیم). در واقع تابع Vlookup جستجو را در ستون اول انجام می دهد و ملاک فقط ستون اول هست.
به این ترتیب این تابع با جستجوی تخمینی، اعداد بین بازه ها را تشخیص خواهد داد و داده مرتبط با ستون سوم را به عنوان خروجی نمایش می دهد. عدد ۴۹۹ در بازه ۳۵۰-۵۰۰ قرار میگیرد و گروه بندی D به عنوان خروجی نمایش داده خواهد شد.
شکل ۲- فراخوانی عدد مورد نظر در بازه های موجود
در این آموزش در مورد یک کاربرد خاص تابع Vlookup صحبت کردیم و یاد گرفتی چطور با استفاده از این تابع میشه جستجوی بازه ای یا حدودی در اکسل انجام بدی.
اگر در کار با تابع Vlookup به مشکل جستجوی موارد تکراری بر خوردید، حتما پیشنهاد میکنم مقاله جستجو موارد تکراری رو بخونی.
نکته خیلی مهم: باز و بسته بودن بازه ها به صورت (A B] خواهد بود. برای مثال، عدد ۵۰۰ در گروه بندی E قرار خواهد گرفت. پس انتخاب ابتدا و انتهای بازه ها (با توجه به مفهوم و خروجی مورد انتظار) از اهمیت بسیار بالایی برخوردار است.
سلام وقت بخیر من یه سوال داشتم، من برای اکسل میخواستم یه جستجوگر بسازم با شرایط زیر
شرکت ما محصولاتش رو با شماره سریال برای مشتری ارسال میکنه و ما شماره سریال هارو در اکسل ثبت میکنم تا در صورت نیاز قابل رهگیری باشد ولی در مواقعی محموله های ارسالی بزرگ هستن بطوریکه شامل هزار جنس میشه و ما نمیتونیم دونه دونه شماره سریال هارو ثبت کنیم ولی اونا رو بصورت بازه ای مثلا از شماره یک تا هزار برای فلان مشتری ثبت میکنیم، ما چطوری میتونیم یه جستجوگر براش بسازیم که مثلا یه مشتری فلان جنس رو برگردوند با سرچ شماره سریالش از داخل بازه ها بگه مال کدوم محمولس؟
درود بر شما
دقیقا در مقاله مرتبط پیام گذاشتید مطابق با همین اموزش عمل کنید
سلام خانم خاکزاد
همین رو اجرا کردم ولی در اکثر ستون ها ارور #N/A رو میده
ممنون میشم راهنمایی کنید
درود بر شما
$ ها رو چک کنید
سلام
ی فایل اکسل دارام که در ردیف ها و ستون ها بیستر از ۱۰عدد مباشد چگونه می توانیم ار تابع dget ,و غیره استفاده کرد سپاسگزارم
درود بر شما
dget وقتی جواب میده که نتیجه جستجو یونیک باشه
سلام و روز بخیر
من مجموعه فعالیتهایی رو دارم که ستون های تاریخ شروع و پایانشون مشخص شده و جمع کل مدت فعالیتها رو هم دارم . چطور میتونم مدت هم پوشانی بین تاریخها رو توی اکسل مشخص کنم
درود
برای همچین محاسباتی باید تاریخ محاسباتی باشه یعنی جنس عدد باشه
اگر همچین شرایطی داره، کافیه با if و مقایسه بزرگتر و کوچکتر اشتراکات رو پیدا کنید
سلام. سپاس ،عالی هستید،زنده باشید.
در یک ستون ساعت تماس مشتری ودرستون بعدی تاریخ که البته هرفایل مربوط به یک ماه است و در ستون بعدی نشون میده کدوم روز هفته است ،الان برای اینکه بخواهیم جدولی داشته باشیم که نشون بده مثلاً در شنبه های فلان ماه مابین ساعت هفت تا هشت چه تعداد تماس داشتیم چه باید کرد.ببخشید طولانی شد.
درود بر شما
از countifs استفاده کنید
اصلا معلوم نیست چی گفتیید
سلام
اول باید تابع vlookup رو مطالعه کنید و اونو خوب متوجه بشید بعد این مقاله که حالت خاصی از تابع vlookup هست رو مطالعه بفرمایید
هرجا سوالی هست هم میتونید مطرح کنید
سلام و خداقوت
من ستون اکسلی دارم که اطلاعات آن به شرح زیر می باشد
نام کد
علی ۱۱
علی ۱۲۳
علی ۱۱۴
حانیه ۱۵۹
حانیه ۲۰۰
حانیه ۱۰
حانیه ۱۰۲
حانیه ۵
و می خواهم در یک شیت دیگر فقط اطلاعات حانیه و کد مربوط به هر یک نمایش داده شود.ممنون راهنماییم کنید
درود
هم با پیوت تیبل میشه
هم فمرول نویسی. میتونید اسم ها رو از اعداد تفکیک کنید و بعد با استفاده از روش جستجوی موارد تکررای، فرمول نویسی انجام بدید که در مقاله زیر توضیح داده شده است
https://excelpedia.net/search-duplicates/
با سلام
یک فایل اکسل دارای دو ستون اعداد غیر تکراری و یک ستون دارای نام های تکراری که مربوط به عدد مقابل خود هست. حال چطور میشه در فایلی مجزا همون اعداد داشته باشیم و بخواهیم نام ها رو از فایل اولی بیاره و روبروی عدد مربوطه بنویسه. با تشکر
درود
با تابع vlookup میتونید اعداد رو جستجو کنید و ستون دومش رو فراخوانی کنید
سلام مرسی از سایت عالی تون
من نتونستم اینو بنویسم میشه کمکم کنید
ستون میانیگن و انحراف معیار رو تعریف کردم
حالا عملکرد رو میخوام ارزیابی کنم
اگه از جمع میانگین و انحراف معیار بیشتر باشه بزنه صعود زیاد
داخل بازه جمع و منهای انحراف معیار و میانگین باشه بزنه متوسط
و کمتر از منهاش باشه بزنه نزول زیاد
لطفااااااا
درود بر شما
چی از جمع و میانگین بیشتر باشه؟
بصورت کلی باید برید سراغ تابع ifs (اگر ۲۰۱۹ دارید)
یا nested if
با سلام
یه مشکلی دارم با اکسل ممنون میشم راهنمایی بفرمایید
برای پرسش های پایان نامه در اکس میخواهم فرمول بدم که بجای گزینه بسیار مهم بزنه عدد ۵ برای مهم بزنه ۴ برای متوسط۳ برای کم ۲ و برای بسیار کم ۱
سلام
از ابزار Find & Replace میتویند استفاده کنید و برای هر کدام Replace All رو بزنید.
سپاس فراوان از هر دو عزیز و ممنون بابت پاسخگویتان ?????
درود بر شما
با هعمین vlookup میتونید
با match میشه
با index هم
اموزش همه اینها هم داخل سایت هست
همین اموزش و بخونید
جدولتون و تشکیل بدید که هر کلمه معادل چه عددی هست. بعد vlookup کنید
باسلام و خسته نباشید من میخواهم فرمولی بنویسم که عدد مورد نظر مرا از داخل چند بازه پیدا کرده بعد با عدد متناظر با آن بازه جمع کند . با تشکر.
درود بر شما
خروجی همین آموزشی که ارائه شده، رو باید در عدد مورد نظر ضرب کنید.
جستجوی بازه ای رو خوب مطالعه کنید.
در حالت عادی تابع Vlookup موارد تکراری را جستجو نمی کند.
با درود فراوان….
میخواستم ببینم هنوز آموزشی برای مواقعی که بیشتر از یک مورد برای جستجویمان در جدول وجود داشته باشد و بخواهیم اکسل همه آنها را برایمان نشان دهد در نظر نگرفته اید….
درود بر شما
فرمول نویسی آرایه ای لازمه برای این مورد
در دوره نینجا، فرمول نویسی آرایه ای کامل تشریح شده.
داخل گروه پرسش و پاسخ هم نمونه فایل هست. به نام array-index میتونید دانلود کنید. خودتون تحلیل کنید و یاد بگیرید
سپاس از راهنماییتون….
گروه پرسش و پاسخ رو از کجا پیدا کنم؟ اگه ممکنه این فایل array-index که میفرمایین رو برام بفرستین…. کمک بزرگی میکنید….
MEYSAMGHODDOSI@YAHOO.COM
خواهش میکنم
لینک گروه در فوتر سایت هست
با سلام
من در جستجوی بازه ای از این تابع نتونستم استفاده کنم چراکه بازه های من ابتدا و انتهای یکسان با ردیف بعدی ندارند. یکسری بازه جسته و گریخته که همپوشانی ندارند و در ادامه ی یکدیگر هم نیستند.
برای یافتن یک مقدار بین این بازه ها چگونه عمل کنم؟
درود بر شما
فرقی نمیکنه
مثلا من این بازه ها رو میتونم استفاده کنم.
۵ ۱
15 ۱۰
25 ۲۰
که اصلا پشت سر هم نیستن
با سلام و عرض خسته نباشید
ضمن تشکر از مطالب مفید ، خواهش می کنم در مورد سوالم مرا راهنمائی کنید.
در یک شیت اطلاعات مربوط به پرسنل رو داریم که اطلاعات هر پرسنل در چند سطر است یعنی در ستون اول کد پرسنلی و در ستون دوم سابقه پرسنل که چند مورد است را داریم ، می خواهیم کل اطلاعات مربوط به یک پرسنل را در شیت دیگری جستجو کنیم این مورد در فرمول vlookup فقط یک مورد رو می آره .
درود بر شما
کلمات سطر و ستون رو جابجا استفاده کردید و این اثر میذاره روی صورت مسئله.
اگر اطلاعات بر سااس کد پرسنلی هست و در هر ردیف یک کد داردی و جلوش اطلاعات مربوط به هر نفر، این براحتی با vlookup شدنی هست و هر بار col index جداگانه میذارید.
اما اگر هر کد در ردیف های جداگانه هست، و تککرار شده، باید فرمول نویسی آرایه ای انجام بدید و با index, small و … ترکیب کنید
سلام
من یک فایل اکسل دارم که ۳۰۰۰۰۰ ردیف است و در یکی از ستون ها متنی شامل شماره حساب و شماره چک و … می باشد.
چطور میتونم ۵ شماره چک را در کمترین زمان در این ستون سرچ کنم؟ یعنی نمی خواهم تک تک شماره چک بزنم و جستجو کنم. بیشتر جستجو دسته جمعی نیازم هست.
ممنون
درود بر شما
بهتره از ابزار find استفاده کنید
سریعترین راهه
سلام مطالب خوبی ارایه میدین تشکر میکنم
من میخوام یک جدول داشته باشم که اسم محصول که زدم قیمت و دیگر مشخصاتش(که درهمون ردیف قرار داره) استخراج کنم
مشکلم اینجاست که اسم محصول طولانیه ولی من میخوام با زدن قسمتی از عبارت مثلا پرینتر M102a بتونم قیمت رو از شیت قبلی بگیرم
با فرمول Vlookup امتحان کردم درصورتی جواب میده که عین عبارت تایپ بشه.
ممنون میشم راهنمایی بفرمایید..
سلام، تشکر
کافیه علامت * به انتهای قسمتی از نام محصول که تایپ میکنید اضافه بشه و در آرگومان اول Vlookup قرار داده بشه:
hp m102a
hp n130fn
hp m130fw
hp n400d
اول تشکر میکنم بابت راهنمایی جناب مهندس عزیز و بزرگوار. دوم اینکه من خیلی متوجه نشدم کاربرد ستاره تو فرمان Vlookup به چه صورته کلی هم سرچ کردم اما متاسفانه پیدا نکردم و دوباره مزاحم شما شدم.
اقلام بالا بعنوان مثال نوشتم که چطور میشه خلاصه ای از نام این محصولات رو با vlookup جستجو کرد.
=VLOOKUP(A2,sheet10!$A$2:$E$15,3,FALSE) چیزی که خودم نوشتم اینه
سلام مجدد – من بلاخره با کمک شما تونستم کاربرد ستاره رو تو فرمان vlookup بفهمم و استفاده کنم
باز هم سپاسگزارم
سلام وقتتون بخیر ،من هرچی میخوام از این فرمول استفاده کنم نمیشه . ( ارورN/A# میده )
ببینید نمونه جدولم اینه:
220523
220524
220525
وتوی ستون دوم کد مورد نظر مثلا از aتا c
مثلا میخوام ۵۲۳ رو جست جو کنم این فرمولو میزنم:
VLOOKUP(D1&”*”;A1:B3;2;1)
“۵۲۳توی سلولd1 تایپ شده”
درود بر شما
خواسته شما با آموزش بالا متفاوت هست
اینکه نوشتید جستجوی بازه ای نیست.
برای این کار باید داده های جدولتون رو متنی تبدیل کنید با استفاده text to column یا هر روش دیگه.بعد این فرمول رو بنویسید و آرگومان آخر رو هم صفر بذارید.
یا از این فرمول که آرایه ای هست استفاده کنید. با ctrl+shift+enter ثبت کنید:
با سلام و عرض خسته نباشید
از مطالب علمی و آموزشی که در سایت قرار دادین تشکر میکنم واقعا عالی و کاربردی هستند.
یه سوال در مورد اکسل داشتم ممنون میشم اگر راهنمایی کنید
بنده یه فایل دارم یک حدود ۲۲ هزار سطر در یک ستون است که شامل عدد از یک تا ۱۰۰ هست میخواستم اعداد رو طبقه بندی کنم مثلا در ۵ گروه دسته بندی بشه و فروانی هر دسته رو نشون بده. مثلا دسته ۰ الی ۲۰ که نشون بده چند رکورد در این دسته قرار دارد.
اگر فرمول یا روشی هست که بتوان اینکارو کرد ممنون میشم راهنمایی کنید.
با تشکر
درود بر شما
خوشحالیم که اینو میشنویم
۲ تا روش داره
یکی از استفاده از تابع Frequency
دیگری استفاده از Countifs
دمت گرم، عالی بود