فهرست مطالب
این آموزش نحوه استفاده از IFERROR در اکسل را برای یافتن خطاها و جایگزینی آنها با یک سلول خالی، مقدار دیگری یا یک پیام سفارشی نشان می دهد. شما یاد خواهید گرفت که چگونه از تابع IFERROR با Vlookup و Index Match استفاده کنید، و چگونه با IF ISERROR و IFNA مقایسه می شود.
"به من محل ایستادن بدهید و من زمین را حرکت خواهم داد." ارشمیدس یک بار گفت. یکی از کاربران اکسل میگوید: «یک فرمول به من بدهید و من آن را به یک خطا برگردانم». در این آموزش، نحوه برگرداندن خطاها در اکسل را بررسی نمی کنیم، بلکه ترجیح می دهیم یاد بگیریم چگونه از آنها جلوگیری کنیم تا کاربرگ های شما تمیز و فرمول های شما شفاف باشند.
عملکرد IFERROR اکسل - نحو و کاربردهای اساسی
عملکرد IFERROR در اکسل برای به دام انداختن و مدیریت خطاها در فرمول ها و محاسبات طراحی شده است. به طور خاص، IFERROR یک فرمول را بررسی می کند، و اگر به یک خطا ارزیابی شود، مقدار دیگری را که شما مشخص کرده اید برمی گرداند. در غیر این صورت، نتیجه فرمول را برمی گرداند.
سینتکس تابع Excel IFERROR به شرح زیر است:
IFERROR(value, value_if_error)Where:
- مقدار (الزامی) - چه چیزی برای خطا بررسی شود. این می تواند یک فرمول، عبارت، مقدار یا مرجع سلول باشد.
- Value_if_error (لازم) - در صورت یافتن خطا، چه چیزی باید برگردانده شود. این می تواند یک رشته خالی (سلول خالی)، پیام متنی، مقدار عددی، فرمول یا محاسبه دیگری باشد.
به عنوان مثال، هنگام تقسیم دو ستون از اعداد، شمااگر یکی از ستونها حاوی سلولهای خالی، صفر یا متن باشد، ممکن است تعداد زیادی خطا دریافت کند.
برای جلوگیری از این اتفاق، از تابع IFERROR برای شناسایی و رسیدگی به خطاها استفاده کنید. به روشی که می خواهید.
اگر خطایی وجود دارد، سپس خالی است
یک رشته خالی (") به آرگومان value_if_error وارد کنید تا در صورت یافتن خطا، یک سلول خالی برگردانید:
=IFERROR(A2/B2, "")
اگر خطا وجود دارد، یک پیام نشان دهید
همچنین می توانید پیام خود را به جای نماد خطای استاندارد اکسل نمایش دهید:
=IFERROR(A2/B2, "Error in calculation")
5 نکته که باید در مورد عملکرد Excel IFERROR بدانید
- عملکرد IFERROR در اکسل همه انواع خطا از جمله # را کنترل می کند. DIV/0!، #N/A، #NAME؟، #NULL!، #NUM!، #REF!، و #VALUE!.
- بسته به محتویات value_if_error آرگومان، IFERROR می تواند خطاها را با پیام متنی سفارشی، شماره، تاریخ یا مقدار منطقی شما، نتیجه فرمول دیگری یا یک رشته خالی (سلول خالی) جایگزین کند.
- اگر آرگومان value یک سلول خالی است، آن را به عنوان یک رشته خالی (''') اما خطا نیست.
- IFERROR در اکسل 2007 معرفی شد و در تمام نسخه های بعدی اکسل 2010، اکسل 2013، اکسل 2016، اکسل 2019، اکسل 2021 و اکسل موجود است. 365.
- برای به دام انداختن خطاها در اکسل 2003 و نسخه های قبلی، از تابع ISERROR در ترکیب با IF استفاده کنید، همانطور که در این مثال نشان داده شده است.
نمونه های فرمول IFERROR
نمونه های زیرنحوه استفاده از IFERROR در Excel در ترکیب با توابع دیگر برای انجام کارهای پیچیده تر را نشان دهید.
Excel IFERROR با Vlookup
یکی از رایج ترین کاربردهای تابع IFERROR این است که به کاربران می گوید مقداری که آنها به دنبال آن هستند در مجموعه داده وجود ندارد. برای این کار، یک فرمول VLOOKUP را در IFERROR میپیچید به این صورت:
IFERROR(VLOOKUP( …)،" یافت نشد")اگر مقدار جستجو در جدول مورد نظر شما نیست ، یک فرمول Vlookup معمولی خطای #N/A را برمی گرداند:
برای ذهنیت کاربران خود، VLOOKUP را در IFERROR بپیچید و اطلاعات آموزنده تر و کاربرپسندتر نمایش دهید. پیام:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
عکس صفحه زیر فرمول Iferror را در اکسل نشان می دهد:
اگر می خواهید فقط #N را به دام بیندازید /A خطاها اما نه همه خطاها، از تابع IFNA به جای IFERROR استفاده کنید.
برای مثال های بیشتر فرمول Excel IFERROR VLOOKUP، لطفاً این آموزش ها را بررسی کنید:
- Iferror with Vlookup to trap و خطاها را مدیریت کنید
- نحوه دریافت Nامین مقدار مقدار جستجو
- نحوه بدست آوردن همه تکرارهای مقدار جستجو
توابع IFERROR تو در تو برای انجام Vlookupهای متوالی در اکسل
در شرایطی که نیاز به انجام چندین Vlookup بر اساس موفقیت یا عدم موفقیت Vlookup قبلی دارید، می توانید دو یا چند IFERROR را تودرتو کنید. یکی به دیگری عمل می کند.
فرض کنید تعدادی گزارش فروش از شعبه های منطقه ای خود داریدشرکت، و می خواهید مبلغی را برای شناسه سفارش خاص دریافت کنید. با A2 به عنوان مقدار جستجو در برگه فعلی، و A2:B5 به عنوان محدوده جستجو در 3 صفحه جستجو (گزارش 1، گزارش 2 و گزارش 3)، فرمول به شرح زیر است:
=IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0),"not found")))
نتیجه چیزی شبیه به این خواهد بود:
برای توضیح دقیق منطق فرمول، لطفاً به نحوه انجام Vlookups متوالی در اکسل مراجعه کنید.
IFERROR در فرمول های آرایه
همانطور که احتمالاً می دانید، فرمول های آرایه در اکسل برای انجام محاسبات متعدد در یک فرمول واحد است. اگر یک فرمول یا عبارت آرایه ای ارائه کنید که منجر به آرایه ای در آرگومان value تابع IFERROR شود، آرایه ای از مقادیر را برای هر سلول در محدوده مشخص شده برمی گرداند. مثال زیر جزئیات را نشان می دهد.
بیایید فرض کنیم، شما Total در ستون B و Price در ستون C دارید، و می خواهید تعداد کل را محاسبه کنید. . این کار را می توان با استفاده از فرمول آرایه زیر انجام داد، که هر سلول در محدوده B2:B4 را بر سلول مربوط به محدوده C2:C4 تقسیم می کند و سپس نتایج را جمع می کند:
=SUM($B$2:$B$4/$C$2:$C$4)
تا زمانی که محدوده مقسومکننده سلولهای صفر یا خالی نداشته باشد، فرمول به خوبی کار میکند. اگر حداقل یک مقدار 0 یا سلول خالی وجود دارد، #DIV/0! خطا برگردانده می شود:
برای رفع آن خطا، به سادگی تقسیم را در تابع IFERROR انجام دهید:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
چه فرمول انجام می دهداین است که یک مقدار در ستون B را بر یک مقدار در ستون C در هر ردیف (100/2، 200/5 و 0/0) تقسیم کنید و آرایه نتایج را برگردانید {50; 40; #DIV/0!}. تابع IFERROR همه #DIV/0 را می گیرد! خطا می دهد و آنها را با صفر جایگزین می کند. و سپس، تابع SUM مقادیر موجود در آرایه حاصل را جمع می کند {50; 40; 0} و خروجی نتیجه نهایی (50+40=90).
توجه داشته باشید. لطفاً به یاد داشته باشید که فرمول های آرایه باید با فشار دادن میانبر Ctrl + Shift + Enter تکمیل شوند.
IFERROR در مقابل IF ISERROR
اکنون که می دانید استفاده از تابع IFERROR در اکسل چقدر آسان است، ممکن است تعجب کنید که چرا برخی از افراد همچنان به استفاده از ترکیب IF ISERROR تمایل دارند. آیا در مقایسه با IFERROR مزیتی دارد؟ هیچ یک. در روزهای بد اکسل 2003 و پایین تر، زمانی که IFERROR وجود نداشت، IF ISERROR تنها راه ممکن برای به دام انداختن خطاها بود. در اکسل 2007 و بعد از آن، این فقط کمی پیچیدهتر است برای رسیدن به نتیجه مشابه.
به عنوان مثال، برای دریافت خطاهای Vlookup، میتوانید از یکی از فرمولهای زیر استفاده کنید.
در اکسل 2007 - اکسل 2016:
IFERROR(VLOOKUP( … )، "یافت نشد")در تمام نسخه های اکسل:
IF(ISERROR(VLOOKUP(…))، "یافت نشد "، VLOOKUP(…))توجه کنید که در فرمول IF ISERROR VLOOKUP، باید دو بار Vlookup کنید. به زبان انگلیسی ساده، فرمول را می توان به صورت زیر خواند: اگر Vlookup به خطا منجر شد، "Not found" را برگردانید، در غیر این صورت نتیجه Vlookup را خروجی بگیرید.
و در اینجا یک واقعی-مثال زندگی یک فرمول Excel If Iserror Vlookup:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)),"Not found", VLOOKUP(D2, A2:B5,2,FALSE ))
برای اطلاعات بیشتر، لطفاً به استفاده از تابع ISERROR در اکسل مراجعه کنید.
IFERROR در مقابل IFNA
که با Excel 2013 معرفی شد، IFNA یک تابع دیگر برای بررسی فرمول برای خطاها است. نحو آن شبیه به IFERROR است:
IFNA(value, value_if_na)IFNA چه تفاوتی با IFERROR دارد؟ تابع IFNA فقط خطاهای #N/A را می گیرد در حالی که IFERROR همه انواع خطاها را کنترل می کند.
در چه شرایطی ممکن است بخواهید از IFNA استفاده کنید؟ زمانی که پنهان کردن همه خطاها عاقلانه نیست. برای مثال، هنگام کار با دادههای مهم یا حساس، ممکن است بخواهید در مورد خطاهای احتمالی در مجموعه دادههای خود هشدار داده شود و پیامهای خطای استاندارد اکسل با نماد "#" میتواند نشانگرهای تصویری واضحی باشد.
بیایید ببینیم چگونه می توانید فرمولی بسازید که به جای خطای N/A، پیام "Not found" را نمایش دهد، که زمانی ظاهر می شود که مقدار جستجو در مجموعه داده وجود ندارد، اما سایر خطاهای اکسل را مورد توجه شما قرار می دهد.
فرض کنید می خواهید Qty را بکشید. از جدول جستجو به جدول خلاصه همانطور که در تصویر زیر نشان داده شده است. استفاده از فرمول Excel Iferror Vlookup نتیجه زیبایی را ایجاد می کند که از نظر فنی نادرست است زیرا Lemons در جدول جستجو وجود دارد:
برای گرفتن # N/A اما خطای #DIV/0 را نمایش دهید، از تابع IFNA در Excel 2013 و Excel استفاده کنید.2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Not found")
یا ترکیب IF ISNA در اکسل 2010 و نسخه های قبلی:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)),"Not found", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
سینتکس IFNA VLOOKUP و IF ISNA فرمول های VLOOKUP مشابه فرمول های IFERROR VLOOKUP و IF ISERROR VLOOKUP هستند که قبلاً مورد بحث قرار گرفت.
همانطور که در تصویر زیر نشان داده شده است، فرمول Ifna Vlookup فقط برای موردی که در جدول جستجو وجود ندارد، "Not found" را برمی گرداند. ( هلو ). برای لیموها ، #DIV/0 را نشان می دهد! نشان می دهد که جدول جستجوی ما حاوی خطای تقسیم بر صفر است:
برای جزئیات بیشتر، لطفاً استفاده از تابع IFNA در اکسل را ببینید.
بهترین روش ها برای استفاده از IFERROR در اکسل
تاکنون می دانید که تابع IFERROR ساده ترین راه برای یافتن خطاها در اکسل و پوشاندن آنها با سلول های خالی، مقادیر صفر یا پیام های سفارشی خودتان است. با این حال، این بدان معنا نیست که شما باید هر فرمول را با مدیریت خطا بپیچید. توصیههای ساده زیر ممکن است به شما در حفظ تعادل کمک کند.
- خطاها را بدون دلیل به دام ندهید.
- کوچکترین بخش ممکن از یک فرمول را در IFERROR قرار دهید.
- برای رسیدگی به خطاهای خاص، از یک تابع رسیدگی به خطا با دامنه کوچکتر استفاده کنید:
- IFNA یا IF ISNA فقط خطاهای #N/A را دریافت کنید.
- ISERR برای دریافت همه خطاها به جز موارد #N/A.
به این صورت است که از تابع IFERROR در اکسل برای به دام انداختن و مدیریت خطاها استفاده می کنید. برای اینکه نگاه دقیق تری به فرمول های مورد بحث در این داشته باشیدشما می توانید نمونه کار کتاب IFERROR Excel را دانلود کنید. از خواندن شما سپاسگزارم و امیدوارم هفته آینده شما را در وبلاگ خود ببینم.