一、案例定位

依原書 Figure 14-4~14-5,以 university fees model 示範 spaghetti links 如何在刪除中間 block 後造成大量 #REF!。

二、學習目標

三、案例情境

原書例子中,各 block 的 dates 不是直接連回 top source,而是 B38 → B29 → B20 → B11 → B2。只要中間一個 block 被刪除,後續 dates 便失去 reference。

四、開始資料

設計 Dependency 刪除中間 block 後
Spaghetti B38→B29→B20→B11→B2 後續 links 可能變 #REF!
Direct-to-source 每個 block → original source 較不受中間 block 刪除影響

五、Excel/VBA 分析方法

對重複 dates、labels、assumptions,優先從每個 calculation block 直接 link original source,而不是 link 前一個 block。用 Trace Precedents 應能快速回到來源,而不是穿越多層中介。

六、計算結果

影響 Spaghetti Links Direct Source
Block deletion resilience 低 較高
Formula auditing 多層追蹤、耗時 較直接

七、結果分析與管理解讀

Spaghetti links 通常「現在能算」,但一旦結構調整就顯示脆弱性。Maintainability 是 modeling quality 的一部分,不只是當下計算是否正確。

八、AI Prompt

請檢查一個 workbook 的 repeated dates/assumptions 是否存在 link-to-link patterns,並提出改為 direct-to-source links 的重構方案,保留相同 outputs。

九、思考/What-if

**問題:**如果 spaghetti chain 現在所有值都正確,是否值得重構?