سبد خرید
0

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

بازگشت به فروشگاه

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

مشکل تابع Vlookup
۴.۱/۵ - (۱۲ امتیاز)

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

این سوالیه که خیلی وقت ها از من پرسیده شده. در واقع مشکل اینجاست که فرد داره داده مورد نظرشو توی داده ها می بینه، اما تابع vlookup  اونو نمیتونه پیدا کنه و خطای N/A# رو نشون میده یا اشتباها داده دیگه ای رو بر میگردونه و از نظر ما درست نیست. حالا میخوایم بررسی کنیم ببینیم مشکل تابع Vlookup از کجاست. (این شرایط برای تابع Hlookup و Match هم برقرار هست).

این مشکل میتونه دو حالت داشته باشه:

۱- خروجی فرمول درست نیست و در واقع داده غیر مرتبط رو نشون میده.

این به دلیل اینه که آرگومان آخر این تابع ۰ یا False گذاشته نشده . وقتی این آرگومان تعیین نمیشه و خالی گذاشته میشه، جستجو بصورت دقیق نیست و داده نا مرتبط برگردانده میشه. برای آشنایی بیشتر با این آرگومان آخر، این پست رو مطالعه کنید. پس برای حل این مشکل، آرگومان آخر تابع رو ۰ قرار بدید. توجه کنید که گاهی اوقات در این حالت ممکن است خروجی،خطای #N/A نیز باشد.

۲- خروجی فرمول خطای N/A# است.

وقتی خروجی فرمول خطای N/A# است، علاوه بر مورد شماره ۱ (برسی آرگومان آخر فرمول)، باید دو مورد زیر رو هم بررسی کنیم:

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

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

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

 

مشکل تابع Vlookup - بررسی مساوی بودن دو داده مورد نظر

شکل ۱-مشکل تابع Vlookup – بررسی مساوی بودن دو داده مورد نظر

 اگه خروجی False  بود باید رو نکته زیر رو بررسی کنیم:

علت اول:

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

راه حل:

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

حذف فاصله های اضافی

 

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

 

علت دوم:

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

مشکل تابع Vlookup - بررسی نوع داده ذخیره شده

شکل ۲- مشکل تابع Vlookup – بررسی نوع داده ذخیره شده

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

برای این کار حتما آموزش چهار روش تبدیل متن به عدد رو مطالعه کنید.

کلیدواژه : تابع Vlookupمتوسط
آواتار
182

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

دیدگاه کاربران
  • علی عباسی ۲۳ خرداد ۱۴۰۱ / ۱۰:۵۷ ق٫ظ

    سلام.وقت بخیر
    با تابع Vlookup به مشکل برخوردم.داخل یه فایل(دستور خرید کالا) مشخصات کد کالا را با این تابع از فایل دیگه که Codebook کالا هست استخراج میکنه.منتها مشکلی که هست تا فایل CodeBook رو باز نکنم مشخصات کد کالا رو اشتباه نشون میده.لطفا راهنمایی بفرمایید.

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

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

  • پیمان ۷ اسفند ۱۴۰۰ / ۴:۱۳ ق٫ظ

    من یک لیست کشویی از نام کالاها تهیه کردم و میخواستم وقتی نام کالا رو کاربر از روی لیست انتخاب میکنه ستون کدکالا خود به خود پر بشه
    نام کالا که انتخاب میشه کد کالا ارور n/a میده
    چیکار باید بکنم که درست بشه
    لیست نام کالا اینطوریه
    ۱۵*۱۰ ۲۰*۲۰ ۳۰*۳۰

    کد کالاها اینطوریه
    ۱۰۱۵ ۲۰۲۰ ۳۰۳۰

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

      درود
      برای جستجو باید مبدا و مقصد یکسان باشن
      * رو با تابع Substitute حذف کنید و بعد خروجی رو جستجو کنید

  • سجاد ۱۵ فروردین ۱۴۰۰ / ۱۱:۴۰ ق٫ظ

    با سلام خدمت خانم خاکزاد
    در این اکسل چرا وقتی وی لوکاپ میزنم جواب نمیده ولی وقتی exact میزنم جواب میده که این دو تا ستون با هم برابرند؟
    Carrier Bandwidth – 0~5MHz for Blade and AAU(FDD) Carrier Bandwidth – 0~5MHz for Blade and AAU(FDD)
    Carrier Bandwidth – 5~10MHz for Blade and AAU(FDD) Carrier Bandwidth – 5~10MHz for Blade and AAU(FDD)
    Carrier Bandwidth – 10~15MHz for Blade and AAU(FDD) Carrier Bandwidth – 10~15MHz for Blade and AAU(FDD)

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

      درود
      Exact جنس متن و عدد و تفکیک نمیکنه بعضی وقتا
      سلکت کنید ببنید در Status bar جمع زده میشه؟ اگه نمیشه یعنی متنه

  • حسین بن نمیر ۲۴ آذر ۱۳۹۹ / ۸:۴۲ ب٫ظ

    سلام
    چرا تابع vlookup اعداد بزرگتر با هفت رقم را نمی تواند بخواند

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

      درود
      مشکلی از این لحاظ وجود نداره
      مشکل چیز دیگه ای هست که تابع کار نمیکنه

  • زهرا خانم ۲۳ آبان ۱۳۹۹ / ۱۱:۲۸ ب٫ظ

    با LOOKUP اطلاعات یک شیت را به شیت دوم منتقل میکنم
    میخوام شیت اول رو حذف کنم ولی اطلاعات شیت دوم هم از بین میره
    چکار کنم؟

    • سامان چراغی ۲۴ آبان ۱۳۹۹ / ۱۰:۴۹ ق٫ظ

      سلام، تمام فرمول هایی که از شیت اول استفاده میکنند باید به Value تبدیل بشن. برای این کار این سلول ها رو انتخاب کنید، کپی کنید و Value آن را روی خودشان با استفاده از Paste Special انتقال بدید.
      بعد از این کار میتونید شیت اول رو حذف کنید.

  • رودکی ۳ مهر ۱۳۹۹ / ۸:۳۶ ب٫ظ

    سلام وقت بخیر
    در فرمول (VLOOKUP(B6;form!1:65536;4;0)
    خطای N/A میده . تمام موارد بالا رو با دقت خوندم حتی ججواب دوستان رو و پیاده سازی کردم ولی متاسفانه باز همین پیام رو بمن میده . من این تابع رو بارها استفاده کرده بودم ولی نمیدونم چرا الان این پیغام رو میده . ممکنه مشکل از کجا باشه

    • سامان چراغی ۵ مهر ۱۳۹۹ / ۳:۳۹ ب٫ظ

      سلام
      اینکه کل ردیف ها از ردیف ۱ تا ردیف ۶۵۵۳۶ رو انتخاب کردید کار درستی نیست. بهتر هست که یک محدوده حداقلی انتخاب بشه.

  • محبوبه اشرفا ۷ مرداد ۱۳۹۹ / ۱:۱۱ ب٫ظ

    سلام خانم مهندس وقتت بخیر
    جسارتا یه سوال داشتم در مورد تابعvlook up من دو ستون شامل عدد و نام حساب دارم و نامگذاریش کردم مثلا بنام حساب تفصیلی و وقتی از تابعvlook up استفاده میکنم و عدد رو وارد میکنم حسابی مقابل اون قرار میگیره که مربوط به عدد دیگه هست و این مشکل فقط مربوط به چند عدد میشه مثلا عدد ۱۱۱۰۰۵۱ رو وارد میکنم بجای بانک توسعه مینویسه تنخواه احمدی در صورتی که عدد مربوط به تنخواه احمدی ۱۱۱۰۰۳۱ هست و از کد ۱۱۱۰۰۵۱ تا ۱۱۱۰۰۵۷ همش تنخواه احمدی رو مقابلش قرار میده بقیه مشکل ندارن واقعا نمیدونم مشکل از کجاست ممنون میشم راهنمایی بفرمائید. ان شالله موفق باشید

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

      درود
      ارگومان آخر رو صفر نذاشتید
      چون ارگومان غیراجباری هست احتمالا نذاشتید

      • محبوبه اشرفا ۷ مرداد ۱۳۹۹ / ۱۰:۰۵ ب٫ظ

        خانم مهندس ازت ممنونم دوستون دارم .
        جسارتا اگه در مورد داشبورد و برنامه نویسی در اکسل آموزشی دارید ممنون میشم راهنمای خریدش رو برام بفرستید

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

          خواهش میکنم. لطف دارید
          اگر برنامه نویسی VBA (ماکرونویسی) منظورتون هست، از این دوره استفاده کنید
          اما اگر برنامه نویسی از طریق فرمول نویسی حرفه ای و کلا اکسل حرفه ای منظورتون هست، دوره نینجا رو پینهاد میکنم که تمرکزش بر فرمول نویسی حرفه ای هست. که در واقع پیش نیاز های تهیه داشبوردهای اکسلی رو یاد میگیرید.

          یک سری هم داشبورد نمونه تحلیل شده از صفر تا صد هست که میتونید از اونا هم استفاده کنید که از نظر بنده پیش نیازش نینجاست

  • فاضل ۱۰ اردیبهشت ۱۳۹۹ / ۴:۴۸ ب٫ظ

    من در یک شیت دو ستون نام و نام خانوادگی دارم در شیت دیگر نام و نام خانوادگی و کد ملی دارم ، چطور می تونم از vlookup استفاده کنیم ، با توجه به اینکه مجبورم هر دو ستون نام و نام خانوادگی را به عنوان آرگومان اول انتخاب کنم چرا که ممکنه اسم و فامیل تکراری داشته باشیم

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

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

      اگر هم اسم و فامیل به هم چسبیده هم باز تکراری داره، میتونید از جستجوی تکراری ها استفاده کنید

  • فنائی ۲۹ اسفند ۱۳۹۸ / ۷:۲۴ ب٫ظ

    سلام
    ضمن تشکر از مطالب مفید و کاربردی تان؛ سوالی داشتم . ۳شیت از نمادهای بورسی (تکراری و غیرتکراری) داریم. جهت تجمیع اطلاعات با گروه بندی هر شیت در یک شیت متمرکز و استفاده از تابع VLOOKUP ؛ جهت تشکیل یک جدول کامل مقایسه ای دچار اشکال هستم. بطور مثال وقتی نمادX را از شیت اول جستجو می کند بدلیل نبودن در آن شیت جواب جستجو را با خطا نمایش می دهد . از صرف وقت تان پیشاپیش متشکرم.

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

      درود
      سوال واضح نیست
      منظورتون Vlookup کردن در چند شیت هست؟

      • نیما ۱۱ آبان ۱۴۰۲ / ۱۲:۰۱ ب٫ظ

        سلام وقت بخیر
        من یه جدول دارم که یه سری سلول ها دارای عدد و یک سری سلول ها خالی هستند
        حالا وقتی از این جدول vlookup میگیرم سلول های خالی رو تو نتیجه ۰ نمایش میده
        راهکارش چیه؟

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

          درود بر شما
          وقتی خالی باشه صفر نشون میده
          باید با if کنترل کتید که اگه ۰ بود مثلا بذاره “”

  • حسن ۲۸ بهمن ۱۳۹۸ / ۸:۳۱ ب٫ظ

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

ارسال دیدگاه

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

توسط
تومان