خطاهای اکسل همیشه چیز بدی نیستند. گاهی فقط به این دلیل است که هنوز دادهای در سلولهای مربوطه وجود ندارد و گاهی دیگر خود خطا داده است. به هر حال، خطاها ظاهر برگه را زشت میکنند و ممکن است باعث شوند رئیستان فکر کند که نمیدانید چگونه از اکسل استفاده کنید. خوشبختانه میتوانید با استفاده از توابع خطای اکسل، از ورود خطاها به جدولکار خود جلوگیری کنید.
خطاهای اکسل همیشه چیز بدی نیستند. گاهی به این دلیل است که هنوز دادهای در سلولهای مربوطه وجود ندارد، و گاهی دیگر خود خطا داده است. به هر حال، خطاها ظاهر شیت را نامرتب میکند و ممکن است برای رئیس شما این تصور را ایجاد کند که شما نحوه استفاده از اکسل را نمیدانید. خوشبختانه میتوانید از نفوذ خطاها به صفحهگستره خود با استفاده از توابع خطای اکسل جلوگیری کنید.
Troubleshooting errors in Excel میتواند کابوسی باشد زیرا گاهی در مکانهای سختمشخص ظاهر میشوند. اگر تا به حال با شکستهای VLOOKUP در یک شیت بزرگ اکسل مواجه شدهاید، میدانید منظورم چیست. پس بیایید به برخی توابع مفید بررسی خطا و مدیریت خطا نگاهی بیاندازیم تا اطمینان حاصل کنیم که صفحات گسترهتان سختتر خراب میشوند و بهصورت شیک خراب میشوند.
توابع برای بررسی خطا در اکسل
شناسایی و تشخیص مشکلات در شیتهای شما
توابع بررسی خطا به شما میگویند که آیا یک مقدار خطا است یا نه با بازگرداندن TRUE، FALSE یا کد خطا. این توابع بینش ارزشمندی ارائه میدهند و به شما اجازه میدهند، برای مثال، از توابع شرطی استفاده کنید تا به این خطاها واکنش نشان دهید. فقط مطمئن شوید که با اپراتورهای منطقی اکسل آشنا شوید اگر میخواهید این توابع بررسی خطا را بهطور مؤثر با منطق شرطی استفاده کنید.
ISERROR
میتوانید از ISERROR برای تست اینکه آیا یک مقدار یا نتیجه یک فرمول خطا است استفاده کنید. اگر خطا را تشخیص دهد TRUE باز میگرداند و اگر نه FALSE. شما نمیدانید خطا چیست، اما در بسیاری از سناریوها نیازی به دانستن آن ندارید مگر اینکه بخواهید منطق شرطی که آن خطا را مدیریت میکند بنویسید.
=ISERROR(value)
یکی از بهترین موارد استفاده از ISERROR بررسی این است که آیا عددی را بر صفر یا مقدار غیرعدد (#DIV/0!) تقسیم میکنید یا نه. این خطا میتواند فرمولهای وابسته را خراب کند و تحلیل شما را تضعیف کند. در اینجا نحوه نمایش فرمول آمده است.
=ISERROR(A1/A2)
اگر A2 (مقسوم) صفر باشد، فرمول TRUE باز میگرداند. همانطور که گفته شد، توابعی مانند این بهترین ترکیب را با توابع شرطی مانند تابع IF دارند. به این ترتیب میتوانید کاری مفید با نتیجه انجام دهید (مثلاً نمایش پیغام یا انجام محاسبهای دیگر).
=IF(ISERROR(A1/A2), "Unknown value!", A1/A2)
در این فرمول، پارامتر اول شرط است که مقدار بازگشتی توسط ISERROR را بررسی میکند. «Unknown» مقداری است که اگر شرط true باشد باز میگرداند، به معنای وجود خطا. A1/A2 مقداری است که اگر شرط false باشد باز میگرداند، یعنی خطایی یافت نشد.
ISERR
ISERR به همان روش تابع ISERROR عمل میکند. با این حال، باید فقط زمانی از آن استفاده کنید که میخواهید خطای #N/A (در دسترس نیست) را نادیده بگیرید — این خطا معمولاً هنگام استفاده از توابع جستجو مانند VLOOKUP و MATCH رخ میدهد. این تابع برای هر خطای دیگر بهجز #N/A TRUE بازمیگرداند. بهطور کلی، اگر دادههای گمشده بر فرمولهای شما تأثیر نگذارد ولی خطاهای دیگر مهم باشند، از آن استفاده کنید.
=ISERR(value)
میتوانید از ISERR به همان روش تابع ISERROR استفاده کنید.
=ISERR(VLOOKUP(A5, Products!A:B, 2, FALSE))
ISNA
اگر بهطور خاص به دنبال خطای #N/A هستید، میتوانید از تابع ISNA برای شناسایی آن استفاده کنید. اگر دادههای گمشده را تشخیص دهد، TRUE برمیگرداند؛ در غیر این صورت FALSE.
=ISNA(value)
در اینجا یک مثال از نحوه استفاده از آن آورده شده است:
=ISNA(VLOOKUP(A6, Products!A:B, 2, FALSE))
ERROR.TYPE
زمانی که تابع ERROR.TYPE یک خطا را تشخیص میدهد، مطابق جدول زیر کدی را بازمیگرداند:
|
کد |
خطا |
|---|---|
|
1 |
#NULL! |
|
2 |
#DIV/0! |
|
3 |
#VALUE! |
|
4 |
#REF! |
|
5 |
#NAME? |
|
6 |
#NUM! |
|
7 |
#N/A |
|
8 |
#GETTING_DATA |
به این معنی است که مثال زیر اگر 0 باشد، مقدار 2 را برمیگرداند، زیرا این باعث خطای تقسیم بر صفر میشود.
=ERROR.TYPE(A1/A2)
میتوانید کاری دقیقتر با کد خطای بازگرداندهشده توسط تابع ERROR.TYPE انجام دهید، هنگامی که آن را با یک عبارت IF ترکیب کنید.
=IF(ERROR.TYPE(A1/A2)=2, "Warning: Division error!", "Other error!")
در عبارت IF بالا، اگر ERROR.TYPE(A1/A2)=2 به TRUE ارزیابی شود، «Warning: Division error!» نمایش داده میشود. در غیر این صورت، محاسبه بهصورت معمولی نمایش داده میشود. میتوانید با استفاده از IFهای تو در تو یا عبارات SWITCH، کدهای خطای بیشتری را در فرمول مدیریت کنید.
اگر تابع هیچ خطایی نیابد، #N/A را برمیگرداند (مقدار خود، نه کد).
توابع برای مدیریت خطاها در اکسل
بهترین روش برای مدیریت خطاها

توابع مدیریت خطاها خطاها را گرفته و رفع یا جایگزین میکنند. آنها به شما کمک میکنند تا بهصورت پیشگیرانه خطاها را مدیریت کنید بدون نیاز به نوشتن منطق شرطی اضافی (اگرچه در صورت نیاز میتوانید این کار را انجام دهید). این نه تنها ظاهر شیت را تمیز نگه میدارد، بلکه فرمولهای وابسته را از خطاها محافظت میکند.
IFERROR
IFERROR مقدار محاسبه را در صورتی که خطایی یافت نشود برمیگرداند. در غیر این صورت، وقتی خطایی را میگیرد، مقدار یا محاسبهٔ سفارشی را بازمیگرداند.
=IFERROR(value, value_if_error)
در اصل، این یک میانبر است که ISERROR و IF را در یک تابع ترکیب میکند.
=IFERROR(A1/A2, "Warning: Division error!")
این به این معنا نیست که ترکیب ISERROR و IF منسوخ شده است؛ هنوز برای سناریوهایی که نیاز به تو در توییهای پیچیده با چندین شرط دارند یا به یک نتیجهٔ TRUE یا FALSE نیاز دارید، مفید است.
IFNA
IFNA نسخهٔ مدیریت خطای ISNA است. اگر خطای #N/A وجود نداشته باشد، محاسبه را برمیگرداند، و اگر آن را تشخیص دهد، مقدار یا محاسبهٔ سفارشی را بازمیگرداند.
=IFNA(value, value_if_na)
در اینجا یک مثال از نحوه استفاده از آن آورده شده است:
=IFNA(VLOOKUP(A2, Products!A:B, 2, FALSE), "Warning: Missing Value!")
Build better workbooks
اگر این توابع خطا را در اکسل استفاده نمیکنید، برنامهٔ صفحهگستره را بهدرستی به کار نمیگیرید. این توابع برای دقت دادهها ضروری هستند، بهویژه اگر با شیتهای بزرگ یا مهم کار میکنید. با استفاده از آنها میتوانید اطمینان حاصل کنید که محاسبات و تجزیه و تحلیلهای شما تا حدی قابل اعتماد باشد. این توابع شیتهای اکسل شما را 100٪ عاری از خطا نمیکنند — همیشه راهی برای خراب کردن آنها وجود دارد — اما بسیاری از سردردهای احتمالی را برطرف میکنند.