فهرست مطالب
در این آموزش، نحوه استفاده از ISERROR با VLOOKUP در اکسل را برای مدیریت موثر انواع خطاها بررسی خواهیم کرد.
VLOOKUP یکی از گیج کننده ترین توابع اکسل است. با بسیاری از مسائل در هر جدولی که نگاه میکنید، خطاهای #N/A یک نمای رایج هستند، با #NAME و #VALUE نیز هرازگاهی ظاهر میشوند. استفاده از VLOOKUP با ISERROR می تواند به شما کمک کند تا تمام خطاهای احتمالی را پیدا کنید و آنها را به روشی مناسب با موقعیت خود مدیریت کنید.
چرا VLOOKUP خطا می دهد؟
بیشترین خطا خطای رایج در فرمول های VLOOKUP این است که #N/A زمانی رخ می دهد که یک مقدار جستجو پیدا نشود. این ممکن است به دلایل مختلفی رخ دهد:
- مقدار جستجو در آرایه جستجو وجود ندارد.
- مقدار جستجو اشتباه املایی است.
- مقدار جستجو وجود دارد یا فاصله های انتهایی در مقدار جستجو یا ستون جستجو.
- ستون جستجو، سمت چپ ترین ستون آرایه جدول نیست.
علاوه بر این، می توانید با #VALUE مواجه شوید. ! خطا، به عنوان مثال. زمانی که مقدار جستجو شامل بیش از 255 کاراکتر باشد. در صورت وجود یک خطای املایی در نام تابع، یک خطای #NAME؟ ظاهر می شود.
برای مرجع کامل، لطفاً به پست قبلی ما در مورد چرا Excel VLOOKUP کار نمی کند مراجعه کنید.
IF فرمول ISERROR VLOOKUP برای جایگزینی خطاها با متن سفارشی
برای پنهان کردن تمام خطاهای احتمالی که می تواند توسط VLOOKUP ایجاد شود، می توانید آن را در داخل فرمول IF ISERROR قرار دهید.مانند این:
IF(ISERROR(VLOOKUP(…)), " text_if_error", VLOOKUP(…))به عنوان مثال، اجازه دهید نام موضوعاتی را که دانش آموزان در آنها تست های شکست خورده گروه A:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
در نتیجه، شما یک دسته از خطاهای #N/A دریافت می کنید که ممکن است این تصور را ایجاد کند که فرمول خراب است.
در حقیقت، این خطاها فقط نشان می دهد که برخی از مقادیر جستجو (A3:A14) در لیست جستجو یافت نمی شوند (D3:D9). برای انتقال واضح این ایده، فرمول VLOOKUP خود را در ساختار IF ISERROR قرار دهید:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
این خطاها را شناسایی کرده و پیام متنی سفارشی شما را برمی گرداند:
نکات و نکات:
- مزیت اصلی این فرمول این است که در همه نسخههای Excel 2000 تا Excel 365 به خوبی کار میکند. در نسخههای مدرن، سادهتر و جایگزین های فشرده تری در دسترس هستند.
- عملکرد ISERROR کاملاً همه خطاها مانند #N/A، #NAME، #VALUE و غیره را می گیرد. در صورتی که می خواهید یک سفارشی نمایش دهید فقط زمانی که یک مقدار جستجو پیدا نشد پیام دهید (خطای #N/A)، از IF ISNA VLOOKUP (در همه نسخه ها) یا IFNA VLOOKUP (در اکسل 2013 به بعد) استفاده کنید.
ISERROR VLOOKUP برای در صورت بروز خطا، سلول خالی را برگردانید
برای اینکه در هنگام بروز خطا، یک سلول خالی داشته باشید، فرمول خود را دریافت کنید تا به جای یک متن سفارشی، یک رشته خالی ("") برگرداند:
IF(ISERROR(VLOOKUP(…) ), "", VLOOKUP(...))در مورد ما، فرمول به این شکل است:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
نتیجه دقیقاً مطابق انتظار است - اگر نام دانش آموز در جدول جستجو یافت نشود، یک سلول خالی است.
نکته. به روشی مشابه، می توانید خطاهای VLOOKUP را با صفر، خط تیره یا هر کاراکتر دیگری که دوست دارید جایگزین کنید. فقط از کاراکتر مورد نظر به جای یک رشته خالی استفاده کنید.
اگر فرمول ISERROR VLOOKUP بله/خیر
در برخی شرایط، ممکن است به دنبال چیزی باشید، اما به جای کشیدن موارد منطبق، فقط بخواهید بله (یا متن دیگری را برگردانید اگر مقدار جستجو پیدا شد) و خیر (اگر مقدار جستجو یافت نشد). برای انجام این کار، میتوانید از این فرمول عمومی استفاده کنید:
IF(ISERROR(VLOOKUP(…))، " text_if_not_found "، " text_if_found ")در ما نمونه مجموعه داده، فرض کنید میخواهید بدانید کدام دانشآموز در یک آزمون مردود شد و کدام یک از آنها رد نشدند. برای انجام این کار، فرمول آشنای ISERROR VLOOKUP را در تست منطقی IF ارائه کنید و به آن بگویید اگر مقدار پیدا نشد، "No" را صادر کند (ISERROR VLOOKUP TRUE را برمی گرداند)، "بله" اگر یافت شد (ISERROR VLOOKUP FALSE را برمی گرداند):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", "Yes")
جایگزین های ISERROR VLOOKUP
ترکیب IF ISERROR قدیمی ترین تکنیک اثبات شده برای Vlookup بدون خطا در اکسل است. با گذشت زمان، توابع جدید تکامل یافتند و راه های آسان تری برای انجام همان کار ارائه کردند. در زیر، راهحلهای احتمالی دیگر و اینکه چه زمانی بهتر است استفاده شود را مورد بحث قرار میدهیم.
IFERROR VLOOKUP
موجود در Excel 2007 وبالاتر
از نسخه 2007، اکسل یک تابع ویژه به نام IFERROR دارد تا فرمولی را برای خطاها بررسی کند و در صورت شناسایی هر گونه خطایی، متن خود را برگرداند (یا یک فرمول جایگزین را اجرا کند).
IFERROR(VLOOKUP(…), " text_if_error ")فرمول واقعی به شرح زیر است:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
در نگاه اول، شبیه آنالوگ کوتاهتر فرمول IF ISERROR VLOOKUP به نظر می رسد. با این حال، یک تفاوت اساسی وجود دارد:
- IFERROR VLOOKUP فرض میکند که شما همیشه نتیجه VLOOKUP را میخواهید اگر خطا نباشد.
- IF ISERROR VLOOKUP به شما امکان میدهد مشخص کنید که چه چیزی باید انجام شود. اگر خطایی وجود داشت و در صورت عدم خطا چه میشود.
برای جزئیات بیشتر، لطفاً به استفاده از IFERROR با VLOOKUP در Excel مراجعه کنید.
IF ISNA VLOOKUP
در اکسل 2000 و جدیدتر کار می کند
در شرایطی که می خواهید فقط #N/A را بدون هیچ خطای دیگری به دام بیندازید، تابع ISNA مفید است. نحو مشابه IF ISERROR VLOOKUP است:
IF(ISNA(VLOOKUP(…)), " text_if_error ", VLOOKUP(…))اما تحت شرایط خاصی، ظاهرا این فرمول یکسان ممکن است نتایج متفاوتی ایجاد کند:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
در تصویر زیر، سلول A13 حاوی تعداد زیادی فضاهای انتهایی است که به همین دلیل طول کل مقدار جستجو از 255 کاراکتر فراتر می رود. در نتیجه، فرمول یک #VALUE را راهاندازی میکند! خطا، توجه شما را به آن سلول جلب می کند و به بررسی دلایل آن تشویق می کند. ISERRORVLOOKUP در این مورد «نه» را برمیگرداند، که فقط مشکل را پنهان میکند و نتیجه کاملاً اشتباهی را ارائه میدهد.
زمان استفاده:
این فرمول در شرایطی که میخواهید متنی را فقط زمانی نمایش دهید که یک مقدار جستجو پیدا نشود و نمیخواهید مشکلات اساسی خود فرمول VLOOKUP را پنهان کنید، به خوبی کار میکند، به عنوان مثال. هنگامی که نام تابع اشتباه تایپ شده است (#NAME؟) یا مسیر کامل کتاب کار جستجو مشخص نشده است (#VALUE!).
برای اطلاعات بیشتر، لطفاً تابع ایسنا را در اکسل با مثال فرمول ببینید.
IFNA VLOOKUP
موجود در اکسل 2013 و بالاتر
این یک جایگزین مدرن برای ترکیب IF ISNA است که به شما امکان می دهد خطاهای #N/A را مدیریت کنید. یک راه ساده تر.
IFNA(VLOOKUP(…), " text_if_error ")در اینجا معادل مختصر فرمول IF ISNA VLOOKUP ما آمده است:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
زمان استفاده:
این یک راه حل ایده آل برای به دام انداختن و رسیدگی به خطاهای #N/A در نسخه های مدرن Excel (2013 - 365) است.
برای جزئیات کامل، تابع Excel IFNA را ببینید.
XLOOKUP
پشتیبانی شده در اکسل 2021 و اکسل 365
به دلیل عملکرد "اگر خطا" داخلی آن ، تابع XLOOKUP ساده ترین راه برای جستجوی بدون خطاهای #N/A در اکسل است. به سادگی، متن کاربر پسند خود را در آرگومان چهارم اختیاری با نام if_not_found تایپ کنید.
به عنوان مثال:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "No")
محدودیت: فقط خطاهای #N/A را با نادیده گرفتن میگیردانواع دیگر.
برای اطلاعات بیشتر، تابع XLOOKUP را در اکسل بررسی کنید.
همانطور که می بینید، اکسل گزینه های بسیار زیادی را برای دریافت خطاهای VLOOKUP ارائه می دهد. امیدواریم این آموزش نحوه استفاده موثر از آنها را روشن کرده باشد. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینیم!
دانلودهای موجود
ISERROR با نمونه های VLOOKUP (فایل xlsx.)