اکسل دقیقاً آنچه نوشتهاید را حساب میکند
بسیاری از فرمولهای «غلط» در واقع درست اجرا شدهاند؛ فقط ترتیب اجرای عملگرها آن چیزی نبوده که نویسنده در ذهن داشته است. ترتیب تقدم در اکسل، از بالا به پایین:
| اولویت | عملگر | معنا |
|---|---|---|
| 1 | : فاصله , | عملگرهای محدوده (بازه، اشتراک، اجتماع) |
| 2 | - | منفی تکعملوندی (مثل -A1) |
| 3 | % | درصد |
| 4 | ^ | توان |
| 5 | * / | ضرب و تقسیم |
| 6 | + - | جمع و تفریق |
| 7 | & | الحاق متن |
| 8 | = < > <= >= <> | مقایسه |
=-2^2 → 4 (نه -4؛ منفی قبل از توان اعمال میشود)
=0-2^2 → -4
=A1+B1/2 → A1 + نصف B1 (نه میانگین)
=(A1+B1)/2 → میانگین
="جمع: "&A1+B1 → اول A1+B1 محاسبه، سپس الحاق
=A1>B1=TRUE → مقایسهها از چپ به راست
=B2*(1-10%) → 10% همان 0.1 است
نقشهی خطاها
| خطا | معنای واقعی | علت رایج |
|---|---|---|
| #DIV/0! | تقسیم بر صفر یا خالی | میانگین گروهی که هیچ رکوردی ندارد |
| #N/A | پیدا نشد / موجود نیست | جستوجوی کدی که در جدول نیست، یا فاصلهی اضافه در متن |
| #NAME? | نام ناشناخته | غلط تایپی در نام تابع، متن بدون گیومه، یا تابع جدید در نسخهی قدیمی |
| #VALUE! | نوع دادهی نامناسب | جمع یک عدد با متن، یا عددی که متن است |
| #REF! | ارجاع از بین رفته | حذف ستون یا سطری که فرمول به آن اشاره میکرد |
| #NUM! | عدد نامعتبر | جذر منفی، IRR که همگرا نمیشود |
| #NULL! | اشتراک خالی دو محدوده | فاصله بهجای کاما بین دو محدوده |
| #SPILL! | آرایهی پویا جا ندارد | سلول پر یا ادغامشده در مسیر خروجی (فصل ۴) |
| #CALC! | خطای محاسبهی آرایه | FILTER که هیچ نتیجهای ندارد و آرگومان سوم ندارد |
| ##### | خطا نیست | ستون باریک است، یا تاریخ منفی |
دقت اعشاری
اکسل اعداد را بهصورت ممیز شناور دودویی نگه میدارد و بعضی کسرهای دهدهی را دقیق نمیتواند ذخیره کند. نتیجه اینکه =1*(0.5-0.4-0.1) بهجای صفر عددی بسیار کوچک مثل -2.8E-17 میدهد و مقایسهی =A1=0 ممکن است FALSE شود. در محاسبات مالی، نتیجهای را که قرار است مقایسه یا جستوجو شود با ROUND گرد کنید.
نکتههایی که کمتر کسی میداند
- برای یافتن همهی خطاهای یک شیت: F5 ← Special ← Formulas ← فقط تیک Errors. سپس با Tab بین آنها حرکت کنید.
- تابع
ERROR.TYPEبه هر خطا یک عدد میدهد (#N/A برابر 7)؛ با آن میتوانید فقط یک نوع خطا را مدیریت کنید و بقیه را نمایان نگه دارید. - گزینهی File ← Options ← Advanced ← Set precision as displayed مقادیر را برای همیشه به اندازهی نمایش گرد میکند و قابل برگشت نیست؛ هرگز روی فایل اصلی فعالش نکنید.
- عملگر فاصله «اشتراک» دو محدوده است:
=B2:D10 C:Cسلولهای مشترک را برمیگرداند. به همین دلیل یک فاصلهی تصادفی در فرمول ممکن است به #NULL! برسد. - مقایسهی متن در اکسل به بزرگی و کوچکی حروف حساس نیست:
="ali"="ALI"برابر TRUE است. برای مقایسهی دقیق ازEXACTاستفاده کنید.