案例01|Numbers Don’t Add Up 與 #REF!:先重建信任再重建公式
案例02|Circular References:SUM(B3:B8)、Average Cash 與 Working Cash 解法
案例03|Too Much Detail 與 File Size:精度幻覺、100,000 Rows 與 10MB JPG
案例04|Spaghetti Links:B38→B29→B20→B11→B2 的脆弱鏈
案例05|Long Formulas:Student Fees VLOOKUP 如何拆成可審核 Blocks
案例06|User Adoption 與 Handover:不要讓模型變成只有作者會用的 Baby
案例07|Someone Messes Up the Model:Audit Log、Clean Copy 與 Recovery
| 原書 Pitfall | 主要觀點/方法 | 實務用途 | 重要條件/限制/延伸 |
|---|---|---|---|
| 1. The Numbers Don’t Add Up | 必須能解釋結果與 calculation chain | 建立對 outputs 的信心 | 沒有 Excel error 不等於數字可信 |
| 2. You’re Getting #REF! Errors | Reference 已不存在,通常需重建 formula | 修復 structural error | 不要用 IFERROR 預設隱藏 |
| 3. You Have Circular References | 找出 formula 回到自身的 dependency loop | 恢復可信 calculation | 原書一般不允許未處理 circular references |
| 4. The Model Has Too Much Detail | Detail 只保留決策或 calculation 必要程度 | 避免 false precision 與資訊超載 | Model 是 estimate,不是 reality |
| 5. The File Size Is Out of Control | 縮減 rows、formatting、full-column refs、images、PivotTables、external links | 提高計算、review、分享效率 | 約 >100,000 rows 可考慮 Power Pivot |
| 6. Spaghetti Links | 避免 link-to-link;直接 link original source | 提高 maintainability | 刪除中間 block 容易造成 #REF! |
| 7. Long & Complicated Formulas | 將 complex workings 拆成清楚 blocks | 提高 auditability | As simple as possible, as complex as necessary |
| 8. No One Is Paying Attention | 讓 stakeholders 提前參與,使用 visuals,避免 information dump | 提高 adoption | 計算正確但沒人使用仍沒有決策價值 |
| 9. You Don’t Want to Let Go | Collaborative build、training、user guide | 降低 key-person dependency | 單一人壟斷模型是 poor business practice |
| 10. Someone Messes Up Your Model | Audit log + clean copy + error checks + recovery controls | 事故診斷與恢復 | 修復後應把 root cause 轉成新的 prevention control |
第 14 章把問題從 formula correctness 擴大到模型的完整生命週期:設計、結構、檔案效能、可審核性、使用者採納、handover、維護與 incident recovery。模型如果只有作者看得懂、檔案巨大、link chain 脆弱或根本沒人使用,即使當下 calculation 正確,也不是好的 financial model。
管理層最直接的問題通常是「我們對這些 numbers 有信心嗎?」Modeler 必須能說明結果如何從 assumptions 與 calculations 產生。
#REF! 則代表 formula 所引用的 cell 已不存在,常見於刪除 rows/columns 或覆蓋 references。原書指出這類錯誤通常需要回到原 formula intent 重建,而不是用 IFERROR 把問題藏起來。
最簡單案例:B8 寫 =SUM(B3:B8),直接引用自己。
更複雜的 Figure 14-2:interest income 用 =AVERAGE(B5,B9)*$B$2,但 cash/interest dependencies 最終又連回自己。
原書的 Figure 14-3 解法是在 interest 前先建立 working cash at end,再算 interest,最後才算 ending cash,以數學方式拆開 circular dependency。
模型只是對 future reality 的 representation。把 customer counts 算到不需要的精度,會製造「我們知道得比實際更多」的 false precision。