S.Cheraghi
کاربر تازه وارد
- تاریخ عضویت
- 28 فوریه 2017
- نوشتهها
- 48
- لایکها
- 4
چرا تابع Vlookup درست کار نمیکنه؟
این سوالیه که خیلی وقت ها از من پرسیده شده. مشکل اینجاست که فرد داره داده مورد نظرشو توی داده ها می بینه، اما تابع vlookup , hlookup, match و … اونو نمیتونه پیدا کنه و خطای N/AA# رو نشون میده یا اشتباها داده دیگه ای رو بر میگردونه و از نظر ما درست نیست. حالا میخوایم بررسی کنیم ببینیم مشکل تابع Vlookup از کجاست. این مشکل میتونه دو تا علت داشته باشه:
مرحله اول: بررسی کنیم ببینیم آیا واقعا دو داده با هم برابرند یا نه؟ برای این کار از = استفاده میکنیم.
اگر خروجی True بود یعنی دقیقا با هم برابرند و اینجا باید چک کنیم ببینیم موردی که در Lookup استفاده شده درست هست یا نه؟ همچنین Match Type رو بررسی کنیم که صفر گذاشته شده باشه.
نکته:
این موضوع در خصوص حروف و کلمات فارسی که “ی” و “ک” دارند هم زیاد اتفاق میفته. اینجور مواقع Lookup value رو حتما از سلول بگیریم که دچار این اشتباه نشیم.
شکل ۱-مشکل تابع Vlookup – بررسی مساوی بودن دو داده مورد نظر
اگه خروجی False بود باید رو نکته زیر رو بررسی کنیم:
علت اول:
احتمالا کاراکترهایی که قابل مشاهده نیستند (مثل فاصله Space) در یکی از سلول ها (یا در سلول Lookup value یا در محدوده جستجو table Array) وجود داره.
حتما بخوانید: قواعد فرمول نویسی حرفه ای در اکسل | قسمت سوم
راه حل:
از تابع Trim استفاده میکنیم. این تابع Space های اضافی (فاصله اول و آخر یک سلول) رو حذف میکنه. برای اینکار مراحل رو طبق تصویر زیر انجام میدیم:
نکته:
تابع Trim فقط فاصله (Space) رو حذف میکنه. اگر کاراکترهای غیرقابل مشاهده دیگه ای در سلول وجود داشته باشه باید از تابع Clean استفاده کنید. در واقع همه کارهایی که برای تابع Trim کردیم رو در مورد تابع Clean هم انجام میدیم.
علت دوم:
داده هایی که از نظر ما یکسان هستند، ممکنه نوع داده (Data Type) متفاوتی داشته باشند. مثلا یکی به عنوان متن ذخیره شده باشه و یکی بصورت عدد. در اینصورت علیرغم تساوی ظاهری، با هم برابر نیستند. یک راه ساده برای اینکه تشخیص بدیم داده بصورت عدد ذخیره شده یا متن، اینه که از تابع IsText یا IsNumber استفاده کنیم.
شکل ۲- مشکل تابع Vlookup – بررسی نوع داده ذخیره شده
همونطور که در شکل ۲ می بینید سلول ۲A بصورت متنی ذخیره شده ولی سلول D3 بصورت عددی هست. پس علیرغم ظاهر مشابه، با هم تفاوت دارند. حالا باید نوع داده ها رو یکسان کنیم. یا متنی ها رو به عدد تبدیل کنیم یا عددی ها رو به متن.
منبع آموزش:
گروه تخصصی اکسل پدیا | توابع اکسل | اکسل چیست
چرا تابع Vlookup درست کار نمیکنه؟
این سوالیه که خیلی وقت ها از من پرسیده شده. مشکل اینجاست که فرد داره داده مورد نظرشو توی داده ها می بینه، اما تابع vlookup , hlookup, match و … اونو نمیتونه پیدا کنه و خطای N/AA# رو نشون میده یا اشتباها داده دیگه ای رو بر میگردونه و از نظر ما درست نیست. حالا میخوایم بررسی کنیم ببینیم مشکل تابع Vlookup از کجاست. این مشکل میتونه دو تا علت داشته باشه:
- خروجی فرمول درست نیست و در واقع داده غیر مرتبط رو نشون میده.
- خروجی فرمول خطای N/A# است.
مرحله اول: بررسی کنیم ببینیم آیا واقعا دو داده با هم برابرند یا نه؟ برای این کار از = استفاده میکنیم.
اگر خروجی True بود یعنی دقیقا با هم برابرند و اینجا باید چک کنیم ببینیم موردی که در Lookup استفاده شده درست هست یا نه؟ همچنین Match Type رو بررسی کنیم که صفر گذاشته شده باشه.
نکته:
این موضوع در خصوص حروف و کلمات فارسی که “ی” و “ک” دارند هم زیاد اتفاق میفته. اینجور مواقع Lookup value رو حتما از سلول بگیریم که دچار این اشتباه نشیم.
شکل ۱-مشکل تابع Vlookup – بررسی مساوی بودن دو داده مورد نظر
اگه خروجی False بود باید رو نکته زیر رو بررسی کنیم:
علت اول:
احتمالا کاراکترهایی که قابل مشاهده نیستند (مثل فاصله Space) در یکی از سلول ها (یا در سلول Lookup value یا در محدوده جستجو table Array) وجود داره.
حتما بخوانید: قواعد فرمول نویسی حرفه ای در اکسل | قسمت سوم
راه حل:
از تابع Trim استفاده میکنیم. این تابع Space های اضافی (فاصله اول و آخر یک سلول) رو حذف میکنه. برای اینکار مراحل رو طبق تصویر زیر انجام میدیم:
نکته:
تابع Trim فقط فاصله (Space) رو حذف میکنه. اگر کاراکترهای غیرقابل مشاهده دیگه ای در سلول وجود داشته باشه باید از تابع Clean استفاده کنید. در واقع همه کارهایی که برای تابع Trim کردیم رو در مورد تابع Clean هم انجام میدیم.
علت دوم:
داده هایی که از نظر ما یکسان هستند، ممکنه نوع داده (Data Type) متفاوتی داشته باشند. مثلا یکی به عنوان متن ذخیره شده باشه و یکی بصورت عدد. در اینصورت علیرغم تساوی ظاهری، با هم برابر نیستند. یک راه ساده برای اینکه تشخیص بدیم داده بصورت عدد ذخیره شده یا متن، اینه که از تابع IsText یا IsNumber استفاده کنیم.
شکل ۲- مشکل تابع Vlookup – بررسی نوع داده ذخیره شده
همونطور که در شکل ۲ می بینید سلول ۲A بصورت متنی ذخیره شده ولی سلول D3 بصورت عددی هست. پس علیرغم ظاهر مشابه، با هم تفاوت دارند. حالا باید نوع داده ها رو یکسان کنیم. یا متنی ها رو به عدد تبدیل کنیم یا عددی ها رو به متن.
منبع آموزش:
گروه تخصصی اکسل پدیا | توابع اکسل | اکسل چیست
چرا تابع Vlookup درست کار نمیکنه؟