چرا تابع Vlookup درست کار نمیکنه؟
این سوالیه که خیلی وقت ها از من پرسیده شده. در واقع مشکل اینجاست که فرد داره داده مورد نظرشو توی داده ها می بینه، اما تابع vlookup اونو نمیتونه پیدا کنه و خطای N/A# رو نشون میده یا اشتباها داده دیگه ای رو بر میگردونه و از نظر ما درست نیست. حالا میخوایم بررسی کنیم ببینیم مشکل تابع Vlookup از کجاست. (این شرایط برای تابع Hlookup و Match هم برقرار هست).
این مشکل میتونه دو حالت داشته باشه:
۱- خروجی فرمول درست نیست و در واقع داده غیر مرتبط رو نشون میده.
این به دلیل اینه که آرگومان آخر این تابع ۰ یا False گذاشته نشده . وقتی این آرگومان تعیین نمیشه و خالی گذاشته میشه، جستجو بصورت دقیق نیست و داده نا مرتبط برگردانده میشه. برای آشنایی بیشتر با این آرگومان آخر، این پست رو مطالعه کنید. پس برای حل این مشکل، آرگومان آخر تابع رو ۰ قرار بدید. توجه کنید که گاهی اوقات در این حالت ممکن است خروجی،خطای #N/A نیز باشد.
۲- خروجی فرمول خطای N/A# است.
وقتی خروجی فرمول خطای 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 بصورت عددی هست. پس علیرغم ظاهر مشابه، با هم تفاوت دارند. حالا باید نوع داده ها رو یکسان کنیم. یا متنی ها رو به عدد تبدیل کنیم یا عددی ها رو به متن.
برای این کار حتما آموزش چهار روش تبدیل متن به عدد رو مطالعه کنید.





خانم خاکزاد بی نظیرید. سالهاست دارم از تجربیاتتون و راهنمایی هاتون استفاده می کنم و مشکلاتم را در اکسل حل می کنم. الانم تابع trim مشکلی که چند روز منو درگیر کرده بود حل کرد. سپاسگذارم
سلام، اگر بخواهیم در تابع لوکاپ وقتی در آرگومان دوم پیدا نشد و لوکاپ نتیجه مشابه کمتری رو پیدا کرد و نشون داد، به ما با رنگ دیگه ای مثل قرمز یه آلارمی بده باید چیکار کرد،
درود بر شما
کافیه از مقایسه vlookup با سرچ دقیق و تخمینی به یک گزاره true, false برسید و بذاریدش در CF
که بتونه در صورتی که برابر نبودن، رنگ کنه. یعنی ی همچین فرمولی:
=vlookup(….,….,….,true)<>vlookup(….,….,….,false)
سلام. از مطالب خوبتون سپاسگزارم.
می توانم فایلم را که مشکل دارم برای شما ارسال کنم تا شما ملاحظه بفرمایید . برای شما کاری ندارد.
درود بر شما
متاسفانه فرصت ما اندکه
میتونید داخل گروه تلگرامی مطرح کنید
https://t.me/joinchat/DRJ4Rj6TAK4nfsbdlSF8Qg
خیلی شیک و مجلسی کار رو جمع کردید.
ممنون
سلام
وقت بخیر
من با بارکد خوان یه بارکدی رو میخونم. تو ستون کناریش ۱۰ رقم اول رو جداسازی میکنم و بعد با ستون اصلی تطابق میدم تا نام کالا رو بیاره.
ولی متاسفانه وقتی اطلاعات یه شرکت رو پاک میکنم و شرکت دیگر رو وارد میکنم ارور n#a میده.
چیکار باید بکنم؟؟
تمام مراحلی هم که نوشتید اعمال کردم ولی فرقی نکرد
درود
به موارد مختلفی میتونه ربط داشته باشه.
نحوه حذف کردن (سلول رو Delete کردن)
اطلاعات جدیدی که وارد میکنید
بازه داده ای که تابع داره استفاده میکنه
سلام یه سوال ساده داشتم برای اکسل میخواستم ببینم چطور میشه مثل ورد دور صفحه حاشیه و قاب گذاشت ؟
درود بر شما
باید با استفاده از Border کادر دلخواه رو برای اون محدوده رسم کنید
سلام استاد ، خسته نباشین ، داخل تابع Vlookup ارور N/A# همه موارد رو هم چک کردم ولی مشگل حل نشد ، امکانش هست فایل رو واستون ارسال کنم ببینین مشگل کجاست ؟؟ ممنون میشم
درود بر شما
بله ایمیل کنید به info@excelpedia.net
خییییلیییییی ممنوووونم واقعا دستتون درد نکنه مشکلم حل شد خیلی گلی ???????
آره دو تا ستون شناسه دارم اگر لطف کنید بهم بگید واقعا به مشکل برخوردم ممنون میشم ازتون
میتونید با دستور append در پاورکوئری این دو ستون رو بیارید در امتداد هم بعد vlookup انجام بدید
یا در گوگل شیت از vstack استفاده کنید
اگر سوال این نیست واضح تر توضیح بدید مثال بزنید
سلام من یک فایل دارم که حاوی دو ستون شناسه و قیمت هستش میخوام با استفاده از شناسه به قیمت برسم اما تنها در ستون اول جستجو میکنه ایا امکانش هست کاری کنم که در دوستون شناسه جستجو کنه و قیمت رو بهم بگه ؟ ممکنه راهنماییم کنید ممنونم
درود
یعنی در دو ستون شناسه دارید؟
سوال مبهمه