شماره پشتیبانی اکسل پدیا در بله: 09914083023
سبد خرید
0

محصولی در سبد خرید نیست.

بازگشت به فروشگاه
تمام دسته ها
  • تمام دسته ها
  • ابزارها
  • افزونه ها
  • اکسل مدیا
  • Power BI
  • Power Pivot
  • Power Query
  • توابع اکسل
  • دسته‌بندی نشده
  • دیده بان
  • گوگل شیت
  • مسائل کاربردی
  • معرفی کتاب
  • نمودار ها
  • وی بی - ماکرو

جستجوی بازه ای با فرمول Vlookup در اکسل

فرمول Vlookup در اکسل
۴.۶/۵ - (۱۱ امتیاز)

کاربردی جالب از تابع Vlookup برای جستجوی حدودی

آیا تاکنون در اکسل به این مسئله برخورد کرده اید که بازه های عددی زیادی داشته باشید و بخواهید اعداد مختلفی را در آن ها جستجو کنید؟ (شکل ۱) مثلا میخواهیم بدانیم که عدد ۳۲۰ در کدام گروه قرار می گیرد؟ در واقع قصد داشته باشید جستجوی بازه ای یا جستجو حدودی انجام بدید. حل این مسئله روش های مختلفی دارد که در این آموزش قصد داریم کاربردی جالب از فرمول 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 صحبت کردیم و یاد گرفتی چطور با استفاده از این تابع میشه جستجوی بازه ای یا حدودی در اکسل انجام بدی.

اگر در کار با تابع Vlookup به مشکل جستجوی موارد تکراری بر خوردید، حتما پیشنهاد میکنم مقاله جستجو موارد تکراری رو بخونی.

نکته خیلی مهم: باز و بسته بودن بازه ها به صورت (A B] خواهد بود. برای مثال، عدد ۵۰۰ در گروه بندی E قرار خواهد گرفت. پس انتخاب ابتدا و انتهای بازه ها (با توجه به مفهوم و خروجی مورد انتظار) از اهمیت بسیار بالایی برخوردار است.

کلیدواژه : پیشرفتهتابع Vlookup
آواتار
145

فارغ التحصیل لیسانس مهندسی صنایع، ارشد مدیریت صنعتی از دانشگاه تربیت مدرس و عاشق اکسل هستم. از سال 1388 که ترم 2 لیسانس بودم، به توصیه استاد مشاورم شروع به خوندن اکسل بصورت حرفه ای کردم و همچنان در حال مطالعه و یادگیری و البته آموزش به بقیه هستم.

دیدگاه کاربران
  • ایمانی ۲۵ اردیبهشت ۱۴۰۴ / ۱۱:۲۲ ق٫ظ

    سوالی داشتم خدمتتون
    در شیت اولی من اطلاعات مشتری رو دارم
    در شیت بعدی باچه فرمولی من میتونم از اطلاعات شیت ۱ با سزچ کردن عدد یا نام بصورت فاکتوراز یک مشتری مشخص اطلاعات گرفته و پرینت بگیرم

    • آواتار
      حسنا خاکزاد ۲۶ اردیبهشت ۱۴۰۴ / ۶:۳۴ ب٫ظ

      درود بر شما
      از تابع vlookup استفاده کنید

  • بهروز نوایی ۲۰ فروردین ۱۴۰۴ / ۱۲:۴۶ ب٫ظ

    بسیار عالی بود . دمتون گرم

  • محمدرضا رحمت اللهی ۱۱ آبان ۱۴۰۳ / ۱۲:۲۰ ب٫ظ

    سلام وقت بخیر من یه سوال داشتم، من برای اکسل میخواستم یه جستجوگر بسازم با شرایط زیر
    شرکت ما محصولاتش رو با شماره سریال برای مشتری ارسال میکنه و ما شماره سریال هارو در اکسل ثبت میکنم تا در صورت نیاز قابل رهگیری باشد ولی در مواقعی محموله های ارسالی بزرگ هستن بطوریکه شامل هزار جنس میشه و ما نمیتونیم دونه دونه شماره سریال هارو ثبت کنیم ولی اونا رو بصورت بازه ای مثلا از شماره یک تا هزار برای فلان مشتری ثبت میکنیم، ما چطوری میتونیم یه جستجوگر براش بسازیم که مثلا یه مشتری فلان جنس رو برگردوند با سرچ شماره سریالش از داخل بازه ها بگه مال کدوم محمولس؟

    • آواتار
      حسنا خاکزاد ۱۲ آبان ۱۴۰۳ / ۹:۰۶ ق٫ظ

      درود بر شما
      دقیقا در مقاله مرتبط پیام گذاشتید مطابق با همین اموزش عمل کنید

  • محمدرضا ۱۹ آبان ۱۴۰۲ / ۳:۱۱ ب٫ظ

    سلام خانم خاکزاد
    همین رو اجرا کردم ولی در اکثر ستون ها ارور #N/A رو میده
    ممنون میشم راهنمایی کنید

    • آواتار
      حسنا خاکزاد ۱۹ آبان ۱۴۰۲ / ۱۱:۲۶ ب٫ظ

      درود بر شما
      $ ها رو چک کنید

  • علی ۴ شهریور ۱۴۰۲ / ۸:۰۴ ب٫ظ

    سلام
    ی فایل اکسل دارام که در ردیف ها و ستون ها بیستر از ۱۰عدد مباشد چگونه می توانیم ار تابع dget ,و غیره استفاده کرد سپاسگزارم

    • آواتار
      حسنا خاکزاد ۴ شهریور ۱۴۰۲ / ۱۰:۵۱ ب٫ظ

      درود بر شما
      dget وقتی جواب میده که نتیجه جستجو یونیک باشه

  • محمد مقدم ۱۰ خرداد ۱۴۰۲ / ۶:۴۸ ب٫ظ

    سلام و روز بخیر
    من مجموعه فعالیتهایی رو دارم که ستون های تاریخ شروع و پایانشون مشخص شده و جمع کل مدت فعالیتها رو هم دارم . چطور میتونم مدت هم پوشانی بین تاریخها رو توی اکسل مشخص کنم

    • آواتار
      حسنا خاکزاد ۱۴ خرداد ۱۴۰۲ / ۱۰:۲۴ ق٫ظ

      درود
      برای همچین محاسباتی باید تاریخ محاسباتی باشه یعنی جنس عدد باشه
      اگر همچین شرایطی داره، کافیه با if و مقایسه بزرگتر و کوچکتر اشتراکات رو پیدا کنید

  • Keivan ۹ آبان ۱۳۹۹ / ۱۰:۵۷ ق٫ظ

    سلام. سپاس ،عالی هستید،زنده باشید.
    در یک ستون ساعت تماس مشتری ودرستون بعدی تاریخ که البته هرفایل مربوط به یک ماه است و در ستون بعدی نشون میده کدوم روز هفته است ،الان برای اینکه بخواهیم جدولی داشته باشیم که نشون بده مثلاً در شنبه های فلان ماه مابین ساعت هفت تا هشت چه تعداد تماس داشتیم چه باید کرد.ببخشید طولانی شد.

    • آواتار
      حسنا خاکزاد ۷ آذر ۱۳۹۹ / ۱۲:۱۵ ب٫ظ

      درود بر شما
      از countifs استفاده کنید

  • نیما ۹ خرداد ۱۳۹۹ / ۱۲:۴۵ ب٫ظ

    اصلا معلوم نیست چی گفتیید

    • آواتار
      حسنا خاکزاد ۱۱ خرداد ۱۳۹۹ / ۱۰:۳۵ ق٫ظ

      سلام
      اول باید تابع vlookup رو مطالعه کنید و اونو خوب متوجه بشید بعد این مقاله که حالت خاصی از تابع vlookup هست رو مطالعه بفرمایید
      هرجا سوالی هست هم میتونید مطرح کنید

  • حانیه نظامی فر ۲۳ فروردین ۱۳۹۹ / ۹:۰۴ ب٫ظ

    سلام و خداقوت
    من ستون اکسلی دارم که اطلاعات آن به شرح زیر می باشد
    نام کد
    علی ۱۱
    علی ۱۲۳
    علی ۱۱۴
    حانیه ۱۵۹
    حانیه ۲۰۰
    حانیه ۱۰
    حانیه ۱۰۲
    حانیه ۵
    و می خواهم در یک شیت دیگر فقط اطلاعات حانیه و کد مربوط به هر یک نمایش داده شود.ممنون راهنماییم کنید

    • آواتار
      حسنا خاکزاد ۲۴ فروردین ۱۳۹۹ / ۵:۵۷ ب٫ظ

      درود
      هم با پیوت تیبل میشه
      هم فمرول نویسی. میتونید اسم ها رو از اعداد تفکیک کنید و بعد با استفاده از روش جستجوی موارد تکررای، فرمول نویسی انجام بدید که در مقاله زیر توضیح داده شده است
      https://excelpedia.net/search-duplicates/

  • ساسان ۱۳ بهمن ۱۳۹۸ / ۱:۴۷ ب٫ظ

    با سلام
    یک فایل اکسل دارای دو ستون اعداد غیر تکراری و یک ستون دارای نام های تکراری که مربوط به عدد مقابل خود هست. حال چطور میشه در فایلی مجزا همون اعداد داشته باشیم و بخواهیم نام ها رو از فایل اولی بیاره و روبروی عدد مربوطه بنویسه. با تشکر

    • آواتار
      حسنا خاکزاد ۱۴ بهمن ۱۳۹۸ / ۱۱:۲۲ ق٫ظ

      درود
      با تابع vlookup میتونید اعداد رو جستجو کنید و ستون دومش رو فراخوانی کنید

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توسط
تومان