فهرست مطالب
خطاهای #N/A زیادی را در کاربرگهای خود دریافت میکنید و کنجکاو هستید که بدانید آیا راهی برای نمایش یک متن سفارشی وجود دارد؟ فرمول IFNA راه حلی است که شما نیاز دارید.
وقتی یک فرمول اکسل نتواند چیزی را شناسایی یا پیدا کند، خطای #N/A را ایجاد میکند. برای دریافت چنین خطایی و جایگزینی آن با یک پیام کاربرپسند، می توانید از عملکرد IFNA استفاده کنید. به عبارت دیگر، #N/A روشی است که اکسل می گوید مقداری که به دنبال آن هستید در مجموعه داده مرجع وجود ندارد. IFNA راه شما برای به دام انداختن و مدیریت آن خطا است.
عملکرد IFNA در اکسل
عملکرد Excel IFNA برای گرفتن و رسیدگی به خطاهای #N/A است. اگر یک فرمول به #N/A ارزیابی شود، IFNA آن خطا را به دام می اندازد و آن را با یک مقدار سفارشی که شما مشخص می کنید جایگزین می کند. در غیر این صورت یک نتیجه عادی از فرمول را برمی گرداند.
Syntax IFNA
Syntax تابع IFNA به شرح زیر است:
IFNA(value, value_if_na)Where:
مقدار (الزامی) - فرمول، مقدار یا مرجع برای بررسی خطای #N/A.
Value_if_na (الزامی) - مقدار اگر خطای #N/A شناسایی شد، برمیگردد.
یادداشتهای استفاده
- عملکرد IFNA فقط #N/A را بدون حذف هیچگونه خطای دیگری کنترل میکند.
- اگر آرگومان value یک فرمول آرایه باشد، IFNA آرایه ای از نتایج را برمی گرداند، یک آرایه در هر سلول، همانطور که در این مثال نشان داده شده است.
در دسترس بودن IFNA
عملکرد IFNA در معرفی شداکسل 2013 و در تمام نسخه های بعدی از جمله اکسل 2016، اکسل 2019، اکسل 2021 و مایکروسافت 365 موجود است.
در نسخه های قبلی، با استفاده از توابع IF و ISNA با هم می توانید خطاهای #N/A را پیدا کنید.
نحوه استفاده از تابع IFNA در اکسل
برای استفاده موثر از IFNA در اکسل، این رویکرد عمومی را دنبال کنید:
- در اولین آرگومان ( مقدار )، یک فرمول تحت تاثیر خطای #N/A قرار دهید.
- در آرگومان دوم ( value_if_na )، متنی را که می خواهید برگردانید به جای علامت خطای استاندارد تایپ کنید. برای برگرداندن یک سلول خالی وقتی چیزی پیدا نشد، یک رشته خالی ('"") ارائه دهید.
برای برگرداندن متن سفارشی ، فرمول عمومی این است:
IFNA( فرمول(), " متن سفارشی")برای برگرداندن یک سلول خالی ، فرمول عمومی این است:
IFNA( فرمول(), "")بیایید ببینیم در یک مثال ساده چگونه کار می کند. در جدول زیر، فرض کنید می خواهید بدانید که نمره یک دانش آموز در بین دیگران چگونه رتبه بندی می شود. از آنجایی که داده ها بر اساس ستون امتیاز از بالاترین به کمترین مرتب شده اند، رتبه با موقعیت نسبی دانش آموز در جدول مطابقت دارد. و برای بدست آوردن موقعیت، می توانید از تابع MATCH به ساده ترین شکل آن استفاده کنید:
=MATCH(E1, A2:A10, 0)
چون مقدار جستجو (Neal) در آرایه جستجو موجود نیست (A2:A10) یک خطای #N/A رخ می دهد.
در صورت مواجه شدن با این خطا، کاربران بی تجربه ممکن است فکر کنند مشکلی در این خطا وجود دارد.فرمول، و شما به عنوان خالق کتاب کار سوالات زیادی دریافت خواهید کرد. برای جلوگیری از این امر، می توانید صریحاً نشان دهید که فرمول صحیح است، فقط نمی تواند مقداری را که از آن خواسته شده است پیدا کند. بنابراین، فرمول MATCH را در آرگومان اول IFNA قرار میدهید و در آرگومان دوم، متن سفارشی خود را تایپ میکنید، در مورد ما "Not found":
=IFNA(MATCH(E1, A2:A10, 0), "Not found")
اکنون، به جای نماد خطای استاندارد، متن شما در یک سلول نمایش داده می شود و به کاربران اطلاع می دهد که مقدار جستجو در مجموعه داده وجود ندارد:
نحوه استفاده از IFNA با VLOOKUP
اغلب خطای #N/A در توابعی رخ می دهد که به دنبال چیزی مانند VLOOKUP، HLOOKUP، LOOKUP و MATCH هستند. مثالهای زیر چند مورد استفاده معمولی را پوشش میدهند.
مثال 1. فرمول پایه IFNA VLOOKUP
برای به دام انداختن خطاهای #N/A که زمانی رخ میدهد که VLOOKUP نتواند مطابقت پیدا کند، نتیجه آن را بررسی کنید. با استفاده از IFNA و به جای خطا مقدار نمایش داده شده را مشخص کنید. روش معمول این است که تابع IFNA را در اطراف فرمول VLOOKUP موجود خود با استفاده از این نحو پیچیده کنید:
IFNA(VLOOKUP(), " متن شما")در جدول نمونه ما، فرض کنید می خواهید بازیابی نمره یک دانش آموز خاص (E1). برای این، شما از این فرمول کلاسیک VLOOKUP استفاده می کنید:
=VLOOKUP(E1, A2:B10, 2, FALSE)
مسئله این است که نیل در امتحان شرکت نکرده است، بنابراین نام او در لیست نیست و بدیهی است که VLOOKUP نمی تواند پیدا کند. یک مسابقه.
برای پنهان کردن خطا، ماVLOOKUP را در IFNA به این شکل بپیچید:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
اکنون، نتیجه برای کاربر ترسناک به نظر نمی رسد و بسیار آموزنده تر است:
مثال 2. IFNA VLOOKUP برای جستجو در چندین صفحه
عملکرد IFNA همچنین برای انجام به اصطلاح جستجوهای متوالی یا زنجیری مفید است. در چندین برگه یا کتاب های کاری مختلف. ایده این است که شما چند فرمول مختلف IFNA(VLOOKUP(…)) را یکی در دیگری به این ترتیب لانه می کنید:
IFNA(VLOOKUP(…), IFNA(VLOOKUP(…), IFNA(VLOOKUP(…), "نه found")))اگر یک VLOOKUP اولیه چیزی پیدا نکرد، تابع IFNA آن VLOOKUP بعدی را اجرا می کند تا زمانی که مقدار مورد نظر پیدا شود. اگر همه جستجوها با شکست مواجه شوند، فرمول متن مشخص شده را برمی گرداند.
فرض کنید شما نمرات کلاس های مختلف را در برگه های مختلف فهرست کرده اید (با نام Class A ، Class B و کلاس C ). هدف شما این است که امتیاز یک دانش آموز خاص را که نامش در سلول B1 در کاربرگ فعلی شما وارد شده است، به دست آورید. برای انجام این کار، از این فرمول استفاده کنید:
=IFNA(VLOOKUP(B1, 'Class A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Class C'!A2:B5, 2, FALSE), "Not found")))
فرمول به صورت متوالی نام مشخص شده را در سه صفحه مختلف به ترتیب تو در تو بودن VLOOKUP جستجو می کند و اولین مطابق پیدا شده را می آورد:
مثال 3. IFNA با INDEX MATCH
به روشی مشابه، IFNA می تواند خطاهای #N/A ایجاد شده توسط سایر توابع جستجو را بگیرد. به عنوان مثال، اجازه دهید از آن همراه با INDEX MATCH استفاده کنیمفرمول:
=IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Not found")
خلاصه فرمول مانند همه مثالهای قبلی است - INDEX MATCH یک جستجو را انجام میدهد و IFNA نتیجه را ارزیابی میکند و اگر خطای #N/A مقدار ارجاعی یافت نشد.
IFNA برای برگرداندن نتایج متعدد
در صورتی که تابع داخلی (یعنی فرمول قرار داده شده در مقدار آرگومان) چندین مقدار را برمی گرداند، IFNA هر مقدار بازگشتی را به صورت جداگانه آزمایش می کند و آرایه ای از نتایج را خروجی می دهد. به عنوان مثال:
=IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Not found")
در اکسل آرایه پویا (مایکروسافت 365 و اکسل 2021)، یک فرمول معمولی در بالاترین سلول (E2) همه نتایج را به طور خودکار در سلول های همسایه می ریزد (بر حسب در اکسل، آن را محدوده ریزش می نامند.
در نسخه های پیش پویا (Excel 2019 و پایین تر)، می توان با استفاده از یک آرایه چند سلولی به اثر مشابهی دست یافت. فرمولی که با میانبر Ctrl + Shift + Enter تکمیل می شود.
تفاوت بین IFNA و IFERROR چیست؟
بسته به علت اصلی ایجاد مشکل، یک فرمول اکسل میتواند خطاهای مختلفی مانند #N/A، #NAME، #VALUE، #REF، #DIV/0، #NUM، و غیره را راهاندازی کند. تابع IFERROR همه آن خطاها را می گیرد در حالی که IFNA فقط به #N/A محدود شده است. کدام یک را انتخاب کنیم بهتر است؟ این بستگی به موقعیت دارد.
اگر میخواهید هر نوع خطایی را سرکوب کنید ، از تابع IFERROR استفاده کنید. این به ویژه در محاسبات پیچیده زمانی که یک فرمول مفید استشامل چندین توابع است که می توانند خطاهای مختلفی ایجاد کنند.
با عملکردهای جستجوگر ، بهتر است از IFNA استفاده کنید زیرا تنها زمانی که یک مقدار جستجو پیدا نمی شود و زیربنای آن را پنهان نمی کند، یک نتیجه سفارشی را نمایش می دهد. مشکل با خود فرمول است.
برای نشان دادن تفاوت، اجازه دهید فرمول اولیه IFNA VLOOKUP خود را بازگردانیم و "به طور تصادفی" نام تابع را اشتباه املایی کنیم (VLOKUP به جای VLOOKUP).
=IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
IFNA این خطا را سرکوب نمیکند، بنابراین میتوانید به وضوح ببینید که مشکلی در یکی از نامهای تابع وجود دارد:
حالا، بیایید ببینیم در صورت استفاده از آن چه اتفاقی میافتد. IFERROR:
=IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Did not take the exam")
هوم... میگه اولیویا امتحان نداده که درست نیست! دلیلش این است که تابع IFERROR #NAME را به دام میاندازد؟ خطا می کند و متن سفارشی را به جای آن برمی گرداند. در این شرایط، نه تنها اطلاعات اشتباه را برمیگرداند، بلکه مشکل فرمول را نیز پنهان میکند.
این نحوه استفاده از فرمول IFNA در اکسل است. از شما سپاسگزارم که خواندید و مشتاقانه منتظر دیدار شما در وبلاگ ما در هفته آینده هستم!
دانلودهای موجود
نمونه های فرمول اکسل IFNA (فایل xlsx.)