انواع خطاها در اکسل
شناسایی انواع خطاها در اکسل بسیار مهم است؛ هر گونه اشتباه در فرمولنویسی را میتوان به عنوان یک خطا (#VALUE!، #NAME?، #NUM! و … ) در نظر گرفت. خطاهای اکسل معمولاً به اقداماتی اشاره دارند که نباید اتفاق میافتاد که با ارسال پیامهای هشداردهنده همراه هستند. این خطاها، فرصتی است برای شناسایی دلایل آنها. به عبارتی، نمایش انواع خطاها در اکسل کمک میکند تا از وجود اشتباهات در نتایج جلوگیری شود، مانند نمایش پرچم سبز کوچک در بالای سلول که به وجود خطاها اشاره میکند.

خطای #NUM!
خطای #NUM! (خطای عدد) از دیگر انواع خطاها در اکسل است. این خطا در چند حالت اتفاق می افتد.
- زمانی که نتیجهی یک تابع یا فرمول خارج از محدودهی اعداد مجاز در اکسل باشد، به دلیل محدودیتهای تعیین شده برای کوچکترین و بزرگترین اعداد، به عنوان نامعتبر شناخته میشود. به عنوان مثال، توان بردن عدد 5 به توان 500 باعث بروز خطای #NUM! خواهد شد. (5^500)
- انجام برخی محاسبات غیرممکن است، مانند محاسبه جذر اعداد منفی مانند SQRT(-25) این امر به دلیل عدم وجود جذر برای اعداد منفی در ریاضیات رخ میدهد؛ به عبارت دیگر، هیچ عددی وجود ندارد که مجذور آن منفی باشد.
- در صورتی که ورودیهای نادرست به توابع داده شود. به عنوان مثال، در تابع DATEDIF، اگر تاریخ شروع بزرگتر از تاریخ پایان باشد، با خطای #NUM! مواجه خواهید شد.

برای یادگیری بهتر این خطا و آشنایی با روش صحیح برطرف کردن آن، میتوانید ویدیوی آموزشی زیر را مشاهده کنید.
خطای #CALC!
خطای #CALC! زمانی رخ میدهد که یک فرمول آرایهای (فقط در نسخههای آفیس 365 و آفیس 2021 به بعد) با یک خطای محاسباتی مواجه شود. یکی از دلایل رایج بروز خطای #CALC! در اکسل، وجود یک آرایه خالی به خصوص در تابع FILTER است. به عنوان مثال، فیلتر کردن دستهبندی “پ” میتواند باعث بروز این خطا شود، زیرا هیچ مقداری در آرایه B4:B10 مطابق با این دستهبندی وجود ندارد:

بهتر است هنگام استفاده از تابع FILTER در اکسل، برای جلوگیری از نمایش خطای #CALC!، مقداری را برای آخرین آرگومان این تابع در نظر بگیرید:

خطای #DIV/0!
یکی از انواع خطاهای رایج در اکسل زمانی رخ میدهد که در یک عملیات ریاضی، تقسیم بر صفر وجود داشته باشد که به خطای #DIV/0! (خطای تقسیم بر صفر) منجر میشود. از منظر ریاضی، تقسیم بر صفر غیرممکن است، مانند مثالی که آورده شده (=1/0).
روشهایی برای رفع این خطا وجود دارد، از جمله حذف فرمولی که ممکن است تقسیم بر صفر انجام دهد. همچنین، استفاده از تابع IFERROR یک راه حل مناسب است که از آن برای جلوگیری از نمایش خطاها در سلول خروجی استفاده میشود. این تابع در صورت بروز خطا، جایگزینی مناسب را بازمیگرداند.

برای یادگیری بهتر خطای #DIV/0! در اکسل و آشنایی با روش صحیح برطرف کردن آن، میتوانید ویدیوی آموزشی زیر را مشاهده کنید.
خطای #NAME?
خطای دیگری که در اکسل ممکن است با آن روبرو شوید، خطای #NAME? است. این خطا زمانی بوجود میآید که اکسل قادر به پیدا کردن محدودهای که مورد اشاره قرار داده شده است، نیست. به عبارت دیگر، اکسل عبارتی را که شامل یک نام (مثلا “Excel”) است، به عنوان یک محدوده تعریف نمیشناسد. به عنوان مثال، فرض کنید که فرمول زیر را در سلولی در اکسل وارد کردهاید:
=Excel+1
این فرمول خطای #NAME? را نشان میدهد، زیرا محدودهای با نام “Excel” تعریف نشده است. برای رفع این خطا، باید اطمینان حاصل کنید که نام محدودهها و توابعی که در فرمولهایتان استفاده میکنید، به درستی تعریف شده باشند.
توجه: خطای #NAME? در اکسل گاهی به دلیل اشتباه تایپی در نام توابع نیز اتفاق میافتد. اگرچه اشتباه تایپی در نام تابع (مانند SAM به جای SUM) به نظر ممکن است اما از دیدگاه اکسل، این اشتباه تایپی باعث بررسی عدم وجود محدودهای به نام SAM میشود که منجر به خطای #NAME? خواهد شد.
خطای #SPILL! در اکسل — علت و روش رفع
زمانی کاربر با خطای #SPILL! در اکسل مواجه می گردد که قصد دارد به طور همزمان از یک فرمول برای بازگرداندن چندین نتیجه استفاده کند. این در حالی است که کاربر فضای کافی در سلول های مجاور در اختیار ندارد. بنابراین در این شرایط کاربر با مانع مهمی برای سرازیر شدن یا همان SPILL داده ها مواجه می شود.
خطای SPILL چه زمانی ظاهر می شود؟
خطای #SPILL! در اکسل به طور اختصاصی در نسخه های جدید اکسل که از توابع پویا مانند SEQUENCE یا FILTER پشتیبانی می کنند دیده می شود. این اتفاق در زمان هایی رخ می دهد که فرمول شما می خواهد نتایج را در سلول های زیرین و یا کناری به نمایش بگذارد. در این شرایط اگر حتی یک سلول در محدوده تعیین شده پر باشد، اکسل برای جلوگیری از بروز خطا و یا پاک شدن داده های موجود این خطا را به نمایش می گذارد.
دلایل رایج خطای SPILL
در جدول زیر دلایل اصلی مسدود شدن مسیر SPILL را بررسی خواهیم نمود:
| دلیل خطا | شرح کوتاه |
|---|---|
| داده های موجود | وجود متن یا عدد در سلولهای مسیر خروجی |
| ادغام سلولها (Merge) | فرمول نمیتواند دادهها را در سلولهای ادغام شده پخش کند. |
| محدوده Table اکسل | استفاده از فرمولهای پویا داخل ساختار Table اکسل |
| امبود فضا | برخورد محدوده خروجی با حاشیه یا پایان شیت |
چطور خطای SPILL را رفع کنیم؟
در ادامه به بررسی مهمترین روش های مطرح شده برای رفع خطای #SPILL! در اکسل خواهیم پرداخت.
روش 1: پیدا کردن سلول مشکل دار
اکسل ابزاری کاربردی می باشد که کار را برای بسیاری از کاربران راحت نموده است. در ابتدا نیاز است تا کاربر بر روی سلولی که خطای #SPILL! در اکسل در آن رخ داده کلیک کنید. در این زمان سیستم یک آیکون هشدار کوچک به نمایش خواهد گذاشت. شما با کلیک بر روی آن می توانید گزینهSelect Obstructing Cells را انتخاب نمایید. اکسل در این شرایط به طور مستقیم به سراغ سلول هایی می رود که مانع نمایش داده ها شده اند.
روش 2: حذف Merge
قابلیت Spill با سلول های Merge شده سازگاری ندارد. در این شرایط نیاز است تا شما محدوده خروجی فرمول خود را بررسی کنید و اگر سلولی در آن مسیر Merge شده، آن را انتخاب کرده و از تب Home گزینه Merge & Center را غیر فعال کنید.
روش 3: انتقال فرمول خارج از Table
ساختار Table در اکسل اجازه Spill شدن داده ها به بیرون از محدوده خود را نمی دهد. اگر از توابع پویا برای این منظور استفاده می کنید بهتر است فرمول خود را به محدوده ای در سایت منتقل نمایید که خارج از محدوده Table اصلی است.
روش 4: استفاده از @ برای غیر فعال کردن Spill
اگر شما نیز با خطای #SPILL! در اکسل مواجه شده اید و نمی خواهید فرمول شما سرازیر شود و تنها به اولین نتیجه نیاز دارید می توانید از عملگر @ (عملگر تقاطع ضمنی) برای این منظور استفاده کنید. برای مثال در فرمول =SUM(A1:A10) را به =SUM(A1:A10)@ تغییر دهید تا فقط مقدار همان سلول برگردانده شود.
تفاوت SPILL با خطاهای دیگر
برخلاف خطاهای رایج اکسل مانند #VALUE! یا #REF! که ناشی از ارجاع اشتباه یا نوع داده نادرست هستند، خطای #SPILL! در اکسل یک خطای فضایی به شمار می رود. یعنی فرمول شما از نظر منطقی صحیح می باشد و این اکسل است که نمی تواند جای خالی برای چینش نتایج پیدا کند.
در کدام نسخه های اکسل SPILL وجود دارد؟
این قابلیت و در نتیجه خطای #SPILL! در اکسل تنها در نسخه هایی رخ می دهد که از موتور محاسبه جدید (Dynamic Array) در آنها استفاده شده است. بر همین اساس نسخه اشتراکی Microsoft 365 و همچنین Excel 2021 و نسخه های بعد از آن و در نهایت Excel for Web قادر به نمایش این خطا می باشند.
خطای #NULL!
یکی از دیگر انواع خطاها در اکسل، خطای #NULL! (یا خطای تهی) است. این خطا زمانی رخ میدهد که هیچ تقاطعی بین دو محدوده وجود نداشته باشد، که به وجود خطای #NULL! منجر میشود. به عنوان مثال، فرمول SUM(A1:A10 C1:C10) نمونهای از این خطا است.
برای رفع این خطا چک کنید که محدودههای داخل فرمول با کاما از یکدیگر جدا شده باشند. اگر فاصله صحیح باشد این تابع نشاندهنده عدم اشتراک دامنههای مورد اشاره شما میباشد. می توانید با استفاده از تابع IFERROR این خطا را پنهان کنید.

برای یادگیری بهتر این خطا و آشنایی با روش صحیح برطرف کردن آن، میتوانید ویدیوی آموزشی زیر را مشاهده کنید.
شبهخطاها ######
برخی از نوعهای خطاها در اکسل به شکل شبه خطا هستند که در واقع خطای واقعی نیستند. این خطاها معمولاً ناشی از فرمتدهی نادرست در اکسل یا در برگهای در حال محاسبه ایجاد میشوند. خطای “پهنای ستون” (######) به دو دلیل در سلول نمایش داده میشود. اولین دلیل این است که عرض سلول برای نمایش مقدار کافی نیست و باید عرض ستون را افزایش دهید تا این خطا برطرف شود.

دلیل دوم نمایش این خطا این است که سلولی که فرمت تاریخ و زمان دارد، ممکن است مقدار منفی داشته باشد، که این موقعیت زمانی رخ میدهد که تفاضل زمان یا تاریخ را محاسبه میکنیم.

برای یادگیری بهتر این خطا و آشنایی با روش صحیح برطرف کردن آن، میتوانید ویدیوی آموزشی زیر را مشاهده کنید.
خطای Circular References

خطای Circular References به معنای آن است که یک فرمول به صورت مستقیم یا غیرمستقیم به خودش ارجاع دارد، که این موجب ایجاد یک حلقه نامحدود در محاسبات میشود.
به عنوان مثال، اگر در سلول A1 عبارت =A1+B1 را وارد کنید، به وجود آوردن خطای Circular References منجر خواهد شد. این به این دلیل است که سلول A1 خود بخشی از فرمول A1+B1 را تشکیل میدهد. این موضوع باعث محاسبه بیپایان میشود و به وجود خطای Circular Reference ختم میشود. همچنین، این خطا در نوار وضعیت نیز نمایش داده میشود.

در این مقاله، سعی شده است تا خطاهای موجود در نرمافزار اکسل مورد بررسی قرار گیرد. اکسل دارای مجموعهای از توابع مانند تابع ERROR.TYPE است که طراحی شدهاند تا پیامهای خطا را پیش از نمایش آنها ضبط کرده و با نمایش مقادیر جایگزین، آنها را کنترل کند.

