چرا تابع Vlookup درست کار نمیکنه؟

شروع موضوع توسط Excelpedia ‏18 ژوئن 2017 در انجمن مقالات و آموزش‌ها و ترفندها

  1. Excelpedia

    Excelpedia New Member

    ارسال‌ها:
    28
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    منبع آموزش:
    گروه تخصصی اکسل پدیا | توابع اکسل | اکسل چیست

    چرا تابع Vlookup درست کار نمیکنه؟


    این سوالیه که خیلی وقت ها از من پرسیده شده. مشکل اینجاست که فرد داره داده مورد نظرشو توی داده ها می بینه، اما تابع vlookup , hlookup, match و … اونو نمیتونه پیدا کنه و خطای N/AA# رو نشون میده یا اشتباها داده دیگه ای رو بر میگردونه و از نظر ما درست نیست. حالا میخوایم بررسی کنیم ببینیم مشکل تابع Vlookup از کجاست. این مشکل میتونه دو تا علت داشته باشه:




      • خروجی فرمول درست نیست و در واقع داده غیر مرتبط رو نشون میده.
    این به دلیل اینه که آرگومان آخر توابع vlookup , Hlookup, match که جستجوی دقیق و تخمینی رو تعیین میکنه فراموش میشه و صفر گذاشته نمیشه.




      • خروجی فرمول خطای N/A# است.
    وقتی خروجی فرمول خطای N/A# است باید دو مورد زیر رو بررسی کنیم:

    مرحله اول: بررسی کنیم ببینیم آیا واقعا دو داده با هم برابرند یا نه؟ برای این کار از = استفاده میکنیم.

    اگر خروجی True بود یعنی دقیقا با هم برابرند و اینجا باید چک کنیم ببینیم موردی که در Lookup استفاده شده درست هست یا نه؟ همچنین Match Type رو بررسی کنیم که صفر گذاشته شده باشه.

    نکته:
    این موضوع در خصوص حروف و کلمات فارسی که “ی” و “ک” دارند هم زیاد اتفاق میفته. اینجور مواقع Lookup value رو حتما از سلول بگیریم که دچار این اشتباه نشیم.


    [​IMG]

    شکل ۱-مشکل تابع Vlookup – بررسی مساوی بودن دو داده مورد نظر
    اگه خروجی False بود باید رو نکته زیر رو بررسی کنیم:

    علت اول:
    احتمالا کاراکترهایی که قابل مشاهده نیستند (مثل فاصله Space) در یکی از سلول ها (یا در سلول Lookup value یا در محدوده جستجو table Array) وجود داره.

    حتما بخوانید: قواعد فرمول نویسی حرفه ای در اکسل | قسمت سوم
    راه حل:
    از تابع Trim استفاده میکنیم. این تابع Space های اضافی (فاصله اول و آخر یک سلول) رو حذف میکنه. برای اینکار مراحل رو طبق تصویر زیر انجام میدیم:

    [​IMG]
    نکته:
    تابع Trim فقط فاصله (Space) رو حذف میکنه. اگر کاراکترهای غیرقابل مشاهده دیگه ای در سلول وجود داشته باشه باید از تابع Clean استفاده کنید. در واقع همه کارهایی که برای تابع Trim کردیم رو در مورد تابع Clean هم انجام میدیم.

    علت دوم:
    داده هایی که از نظر ما یکسان هستند، ممکنه نوع داده (Data Type) متفاوتی داشته باشند. مثلا یکی به عنوان متن ذخیره شده باشه و یکی بصورت عدد. در اینصورت علیرغم تساوی ظاهری، با هم برابر نیستند. یک راه ساده برای اینکه تشخیص بدیم داده بصورت عدد ذخیره شده یا متن، اینه که از تابع IsText یا IsNumber استفاده کنیم.

    [​IMG]

    شکل ۲- مشکل تابع Vlookup – بررسی نوع داده ذخیره شده
    همونطور که در شکل ۲ می بینید سلول ۲A بصورت متنی ذخیره شده ولی سلول D3 بصورت عددی هست. پس علیرغم ظاهر مشابه، با هم تفاوت دارند. حالا باید نوع داده ها رو یکسان کنیم. یا متنی ها رو به عدد تبدیل کنیم یا عددی ها رو به متن.


    منبع آموزش:
    گروه تخصصی اکسل پدیا | توابع اکسل | اکسل چیست

    چرا تابع Vlookup درست کار نمیکنه؟
     
    نوشته شده توسط Excelpedia در ‏18 ژوئن 2017

به اشتراک بگذارید