公式審計檢查器 是做什麼的?
何時使用
在審查他人建立的 Excel 模型,或在與客戶或高階利害關係人分享前驗證自己的模型時,使用此技能。當模型被標記為需要進行品質審查、版本交接時,或在模型用於做出重大財務決策之前,觸發此技能。它最有價值的作用是作為提交前的品質把關:在模型提交給董事會、投資委員會或客戶之前執行此審計。
功能說明
提供系統化、步驟式的模型審計流程,涵蓋:Excel 原生公式審計工具(追蹤前導參照、追蹤從屬參照、錯誤檢查)、偵測與修正公式中的硬編碼數值、識別循環參照、一致的 IFERROR 函數包覆,以及將審計發現記錄在審查日誌中。輸出是一個完整的審計日誌和一份按優先級排列的待修復問題清單。
方法
-
在審計前先儲存一份工作副本。 在進行任何修改之前,將模型另存為新檔案,並在檔名後附加 "_Audit_YYYY-MM-DD"。審計期間的所有編輯都應在此副本上進行。這能保留原始狀態以供比較。
-
執行錯誤檢查工具。 前往公式 > 錯誤檢查。Excel 會逐步檢視所有包含錯誤的儲存格(#N/A、#REF!、#DIV/0!、#VALUE!、#NAME?),並顯示錯誤和公式。針對每個錯誤:診斷原因(缺少查閱索引鍵、已刪除的來源儲存格、錯誤的資料類型、缺少命名範圍)、修正問題,並在審計日誌中記錄:儲存格參照、錯誤類型、原因、採取的修正、嚴重性(嚴重、主要、次要)。
-
尋找並解決循環參照。 前往公式 > 錯誤檢查 > 循環參照。Excel 會列出所有具有循環相依性的儲存格。在財務模型中,循環參照幾乎總是錯誤(除了反覆運算計算情境,這種情況很少見,且必須是明確有意的)。針對每個循環參照:追蹤相依性鏈、識別循環、並透過重構公式邏輯來打破循環。記錄找到的每個循環參照。
-
使用追蹤前導參照來驗證公式邏輯。 對於每個主要的計算列(營收、EBITDA、FCF、股權價值、IRR),點選該儲存格並按 Ctrl+[ 或前往公式 > 追蹤前導參照。這會繪製箭頭,顯示哪些儲存格提供資料給此公式。驗證:(a) 公式從正確的工作表提取資料(假設使用 Inputs 工作表,資料參照使用 Data 工作表,正確的中間結果使用 Calc 工作表),(b) 沒有參照到不應出現的儲存格,(c) 公式未參照應位於不同工作表的儲存格。
-
使用追蹤從屬參照檢查儲存格提供資料給誰。 對於 Calc 工作表上的關鍵輸出儲存格,使用公式 > 追蹤從屬參照來查看哪些下游儲存格參照了此輸出。這能確認:(a) 輸出儲存格被 Outputs 工作表正確擷取,(b) 沒有意外的下游公式參照到應該只是區域中間結果的儲存格。
-
找出公式儲存格中的所有硬編碼數值。 這是模型完整性中最重要的一個審計步驟。所有硬編碼數值(除了 Inputs 工作表上的)都是模型錯誤,因為它們無法在不開啟每個公式的情況下輕易更改。
步驟:按 Ctrl+H(尋找與選取)。點選選項。將「範圍」設定為「公式」。搜尋特定的數值進行檢查(試試 "0.2"、"0.3"、"0.15"、"1000"、"12")。任何位於 Inputs 工作表之外的公式中包含這些數值的,都應進行調查。
更好的方法:使用 Excel 的「特殊目標」功能(Ctrl+G > 特殊 > 常數 > 數字)。這會選取所有包含硬編碼數值的儲存格。審查:任何位於非 Inputs 工作表的 Calc 工作表上的此類儲存格,都應被標記。
針對每個在 Calc 公式中發現的硬編碼數值:將該假設移至 Inputs 工作表、為其加上標籤、套用藍色填滿、並將硬編碼取代為指向 Inputs 工作表的儲存格參照。
-
審計 IFERROR 的一致性。 審查所有查閱公式(VLOOKUP、INDEX-MATCH、XLOOKUP、MATCH),確保它們都包覆在 IFERROR 函數中。未經包覆的查閱若回傳 #N/A,可能會無聲地傳播到下游公式中,產生不正確的結果。
若要尋找未受保護的查閱:Ctrl+F > 搜尋 "=VLOOKUP"、"=INDEX("、"=XLOOKUP",這些字串前面不帶 "IFERROR(" 前綴。針對每個未受保護的查閱:根據情況,包覆在 IFERROR(formula, "Check: [描述] not found") 或 IFERROR(formula, 0) 中。記錄每個被包覆的查閱。
-
檢查命名範圍的完整性。 前往公式 > 名稱管理員。對於每個命名範圍:驗證它參照到正確的儲存格或範圍(「參照到」欄位中沒有 #REF!)、驗證該名稱在模型中仍被使用(使用 Ctrl+F 在公式中搜尋該名稱)、並刪除任何孤立的名稱範圍(不再有有效參照或不再被使用的名稱)。
-
驗證符號慣例。 一個常見的模型錯誤是不一致的符號慣例——有些項目為正數,有些為負數,且沒有明確規則。審計:所有損益表項目(營收、毛利、EBITDA)應為正數。成本可以是正數(在公式中進行減法)或負數(進行加法)。選擇一種慣例並一致地套用。標記任何與周圍列符號不一致的列。
-
檢查敏感度分析表是否正確參照輸入儲存格。 在任何 Excel 資料表格中,列的輸入儲存格和欄的輸入儲存格必須精確地參照 Inputs 工作表上正在被變動的儲存格。一個常見的錯誤:輸入儲存格參照到一個與模型計算中實際使用的儲存格不同的儲存格。驗證方式:手動變更列的輸入儲存格值,並檢查模型輸出是否如預期變化。然後執行資料表格,並驗證結果是否相應地變化。
-
審計公式的複雜度。 過長的巢狀 IF 公式(超過 2 層)是審計風險,因為它們難以閱讀、難以除錯、且容易出現邏輯錯誤。標記任何長度超過 150 個字元或包含超過 2 層巢狀的公式。針對每個被標記的公式:將其分解為中間計算列、為每個中間步驟清楚命名、並用更清晰的逐步順序取代巢狀公式。
-
完成審計日誌。 將所有發現記錄在 Documentation 工作表上的結構化審計日誌表格中,或記錄在單獨的 Audit Log 工作表中:
發現編號 | 工作表 | 儲存格 | 問題類型 | 嚴重性 | 描述 | 狀態(未解決/已修正) | 修正者 | 修正日期
問題類型:硬編碼值、循環參照、公式錯誤、缺少 IFERROR、符號不一致、命名範圍損壞、敏感度表錯誤、公式複雜度。
嚴重性:嚴重(在當前狀態下會產生錯誤結果)、主要(在某些條件下會產生錯誤結果)、次要(不影響結果但違反慣例)。
在日誌頂部總結:發現總數、嚴重數量、主要數量、次要數量以及整體審計狀態(如果零個嚴重問題則為合格,如果僅有次要問題則為有條件合格,如果存在任何未解決的嚴重或主要問題則為不合格)。
輸入
- 待審計的 Excel 模型(工作表名稱、用途說明以及關鍵輸出的位置)
- 模型建置者提出的任何已知問題或疑慮
- 模型的觀眾(決定審計需要多嚴謹)
- 完成審計的截止日期
輸出格式
一份包含以下項目的完整審計規格說明:
- 審計檢查清單:所有 12 個審計步驟,作為可驗證的檢查清單,並附有每個步驟的 Excel 導覽路徑。
- 硬編碼偵測說明:使用 Ctrl+H 和特殊目標方法的逐步說明。
- IFERROR 審計說明:用於尋找未受保護查閱的搜尋字串。