依原書 Table 13-1 與 Taking Note of Excel Error Values,將 Excel error 視為診斷訊號,而不是先隱藏的瑕疵。
###### 欄寬問題。原書明確表示寧願看到 error,也不願得到一個「看起來正確、其實錯誤」的數字。Error value 是定位模型問題的重要線索。
| Error | 原書說明/處理 |
|---|---|
| #DIV/0! | 除以 0;檢查 divisor 是否空白或公式結果為 0 |
| #NAME? | Excel 不認得名稱;檢查 spelling,可用 F3/Name Box |
| #REF! | 被引用的 cell 已不存在;通常要重建 formula |
| #VALUE! | 數值/文字型別不符合 function 預期 |
| #SPILL! | Dynamic array 被其他 cells 阻擋 |
| Circular Reference | Formula 最終連回自己;trace logic 修正 |
先追查 error source。只有確認 error 不需要處理時才使用 IFERROR。例如原式 =(B1-A1)/A1 可寫成 =IFERROR((B1-A1)/A1,0),但前提是回傳 0 不會掩蓋真正的模型問題。
| 顯示 | 是否真正 Error | 處理 |
|---|---|---|
| ###### | 否 | 欄寬不足,拉寬 column |
| #VALUE! | 是 | 追查 input type/formula |
| IFERROR(...,0) | 視情況 | 只在 error 確定可安全 suppress 時使用 |
Suppress error 並不等於解決 error。特別是 #REF!,若直接包 IFERROR,可能把被刪除的 dependency 永久隱藏。
請逐一說明 #DIV/0!、#NAME?、#REF!、#VALUE!、#SPILL!、Circular Reference 的診斷方向,並判斷何時 IFERROR 是合理的、何時會掩蓋風險。
**問題:**看到 ###### 是否應立刻重建公式?