依原書 Figure 14-1~14-3,從簡單 self-reference 到 cash/interest 循環,說明如何辨識與拆解 circular references。
最簡單案例是在 B8 輸入 =SUM(B3:B8),公式直接包含自己。更複雜案例用 average opening/closing cash 計算 interest,公式 =AVERAGE(B5,B9)*$B$2 最終透過其他 cells 又回到自身。
| 案例 | 原書公式/問題 |
|---|---|
| Figure 14-1 | B8 =SUM(B3:B8) → 直接 self-reference |
| Figure 14-2 | B8 =AVERAGE(B5,B9)*$B$2 → 間接 cash/interest loop |
| 定位 | Formulas → Error Checking → Circular References |
若 circular warning 剛出現,原書建議立即 Undo。既有模型則用 Circular References menu 追查。Figure 14-3 的解法是新增 working cash at end,先算 interest 前現金,再算 interest,最後才得到 ending cash。
| 設計 | 結果 |
|---|---|
| Ending Cash 直接參與 Interest,而 Interest 又影響 Ending Cash | Circular Reference |
| 先算 Working Cash at End,再算 Interest,再算 Ending Cash | 依原書可拆開循環 |
Circular reference 不是小警告;原書明確表示若模型含未處理的 circular reference,就不能信任 calculation。應從邏輯設計上拆開 dependency,而不是單純容忍它。
請畫出 Opening Cash → Cash Flow → Working Cash → Interest → Ending Cash 的非循環 dependency chain,並對比 Ending Cash → Interest → Ending Cash 為何造成 circular reference。
**問題:**若 circular warning 出現但結果看起來合理,可以忽略嗎?