當公式參照的儲存格無效時,會顯示 #REF! 錯誤。 當參照儲存格的公式遭到刪除或被貼上的內容覆蓋時,最常發生這種情形。
下列範例在欄 E 中使用公式 =SUM(B2,C2,D2)。
如果您要刪除欄 B、C 或 D,則會造成 #REF! 錯誤。 在此案例中,我們會刪除欄 C (2007 銷售額),而公式現在會變成 =SUM(B2,#REF!,C2)。 當您使用像這樣的明確儲存格參照 (您在其中個別參照每個儲存格並以逗號分隔) 且刪除參照的列或欄時,Excel 無法解析,所以就會傳回 #REF! 錯誤。 這就是為什麼不建議在函數中使用明確儲存格參照的主因。
解決方法
-
如果您不小心刪除了列或欄,您可以立即選取 [快速存取工具欄] (上的 [復原] 按鈕,或按 CTRL+Z) 來還原它們。
-
將公式調整為使用範圍參照 (而不是個別儲存格),例如 =SUM(B2:D2)。 現在您可以刪除加總範圍內的任何欄,而 Excel 會自動調整公式。 您也可以使用 =SUM(B2:B5) 取得各列的加總。
在下列範例中,=VLOOKUP(A8,A2:D5,5,FALSE) 會傳回 #REF! 錯誤,因為它在尋找要從欄 5 傳回的值,但參照的範圍為 A:D (只有 4 欄)。
解決方法
將範圍調整為較大,或減少欄查閱值以符合參照範圍。 就如同 =VLOOKUP(A8,A2:D5,4,FALSE) 一樣,=VLOOKUP(A8,A2:E5,5,FALSE) 會是有效的參照範圍。
在此範例中,公式 =INDEX(B2:E5,5,5) 傳回 #REF! 錯誤,因為 INDEX 範圍為 4 列 4 欄,但公式要求傳回第 5 列和第 5 欄的值。
解決方法
將列或欄參照調整為在 INDEX 查閱範圍內。 INDEX(B2:E5,4,4) 就會傳回有效的值。
不支援連結活頁簿中表格和欄名稱的結構化參照。
不支援連結活頁簿的計算參照。
移動或刪除儲存格會造成無效的儲存格參照,或函數傳回參照錯誤。
如果您已使用的物件連結與嵌入 (OLE) 連結傳回 #REF! 錯誤,則請啟動連結正在呼叫的程式。
附註: OLE 是一種可在程式之間共用信息的技術。
如果您已使用的動態資料交換 (DDE) 主題傳回 #REF! 錯誤,請先檢查以確定您參照的是正確的主題。 如果您仍然收到 #REF! 錯誤,請檢查您的 外部內容信任中心設定 ,如在 Microsoft 365 檔中封鎖或解除封鎖外部內容中所述。
注意: 動態數據交換 (DDE)是一種既有的通訊協定,可在Microsoft Windows 型程式之間交換數據。
巨集問題
如果宏在工作表中輸入參照函數上方儲存格的函數,而包含該函數的儲存格位於列 1,則函數會傳回 #REF! 因為第 1 列上方沒有儲存格。 檢查函數以查看自變數是否參照到無效的儲存格或儲存格範圍。 這可能需要在 Visual Basic 編輯器中編輯宏 (VBE) 將這種情況納入考慮。
需要更多協助嗎?
您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。