Skip to main content

如何在 Excel 中將 # 公式錯誤替換為 0、空白或特定文字?

Author: Kelly Last Modified: 2025-08-06

Excel 使用者經常會在資料表或計算結果中遇到公式錯誤,例如 #DIV/0!、#VALUE!、#REF!、#N/A、#NUM!、#NAME? 和 #NULL!。這些錯誤值不僅影響報告的可讀性,還可能影響進一步的資料處理、分析和共享。通常,為了改善資料呈現或下游計算邏輯,有必要將工作表中的所有或某些錯誤類型替換為 0(零)、空白儲存格或指定的文字字串,以便其他人更容易理解。

本文提供了在 Excel 儲存格中搜尋和替換 # 公式錯誤的實用且易於遵循的解決方案。使用下面顯示的代表性表格,我們將示範如何根據您的需求和工作流程有效地替換這些錯誤值。


使用 IFERROR 將 # 公式錯誤替換為 0、任何特定值或空白儲存格

Excel 提供了 IFERROR 函數,該函數專門設計用於捕獲所有常見的錯誤類型,並讓您用任何值或訊息進行替換。這可以簡化計算期間的錯誤處理,並提高工作表的清晰度。
要使用它,請輸入 =IFERROR(value, value_if_error) 在對應的儲存格中。如果 value 是錯誤,它將返回您指定的 value_if_error;如果 value 不是錯誤,則直接返回計算結果。

Replace formulas errors with iferror function

在上面的示例中,不同的公式錯誤類型(如 #N/A)已被替換為空白儲存格、數字 0 或自訂文字訊息。您可以根據需要調整 value_if_error——如下所示,輸入實際值、空字串 ("") 表示空白,或輸入描述性文字:

注意在公式 =IFERROR(value, value_if_error) 中,value 是主要的表達式或計算(可以是公式或直接引用),而 value_if_error 定義了當該表達式評估為任何錯誤時要顯示的內容。如果您希望顯示文字,請將其放在雙引號內("文字")。您可以使用空字串 ("") 來表示空白儲存格,或使用數字表示 0 或其他數字標示。

change the valueiferror to any values

此方法最適合在建立公式時使用,並且希望確保最終表格、報告、儀表板或傳遞給他人資料時不會顯示錯誤值。一個實用技巧是將任何複雜或不穩定的計算包裝在 IFERROR 中,以保持工作表的連續性。
請記住,如果您只想處理特定類型的錯誤(例如僅 #N/A),請考慮使用 IFNA 或結合 IF 和 ISERROR/ISERR 函數進行更有針對性的處理。此外,確保將公式向下複製到所有相關儲存格,以涵蓋整個數據集。


使用 ERROR.TYPE 將 # 公式錯誤替換為特定數字

另一個內建的 Excel 功能是 ERROR.TYPE 函數,該功能可用於通過返回每個錯誤類型對應的唯一數字來區分不同的錯誤值。當您希望區分錯誤類型以進行進一步的條件邏輯時,這特別有用。
在以下示例中,在公式錯誤旁邊的空白儲存格中使用 ERROR.TYPE 返回了一個代碼(從 1 到 8)。

編號
# 錯誤
公式
轉換為
1
#NULL!
=ERROR.TYPE(#NULL!)
1
2
#DIV/0!
=ERROR.TYPE(#DIV/0!)
2
3
#VALUE!
=ERROR.TYPE(#VALUE!)
3
4
#REF!
=ERROR.TYPE(#REF!)
4
5
#NAME?
=ERROR.TYPE(#NAME?)
5
6
#NUM!
=ERROR.TYPE(#NUM!)
6
7
#N/A
=ERROR.TYPE(#N/A)
7
8
#GETTING_DATA
=ERROR.TYPE(#GETTING_DATA)
8
9
其他
=ERROR.TYPE(1)
#N/A

使用填滿控制柄 fill handle button 允許您在區域中應用 ERROR.TYPE 公式。然而,請注意 ERROR.TYPE 主要用於分析或映射錯誤類型,而不是直接替換它們。您通常會將它與 IF 或 CHOOSE 結合使用,以輸出更友好的替代品。此外,記住每個錯誤代碼可能需要參考文檔或上面的表格。

如果您的場景需要基於錯誤類型進行自訂替換,您可以將 ERROR.TYPE 嵌套在 IF 或 CHOOSE 公式中,以輸出每個錯誤條件的相關資訊。


使用定位命令搜索並替換 # 公式錯誤為 0、任何特定值或空白儲存格

此方法適合希望批量處理並直接覆蓋現有區域中的錯誤儲存格的用戶,特別是在計算完成後。使用 Excel 的內建「定位特殊」命令,您可以找到選取範圍內的所有錯誤儲存格並一次性替換它們。

1. 首先,選擇包含可能公式錯誤的工作表範圍。

2. 按下鍵盤上的 F5(或 Ctrl + G)以彈出「定位」對話框。

3. 點擊「特殊」以打開「定位特殊」選項框。

4. 選擇僅「公式」選項,並在其內部確保僅勾選「錯誤」。此操作將針對您選取範圍內顯示錯誤結果的所有儲存格。

check the Formula option and Errors option in the dialog box

5. 點擊「確定」,Excel 將自動高亮顯示所有這樣的錯誤儲存格。

all formula errors are selected

6. 直接輸入 0 或您選擇的替換值,並使用 Ctrl + Enter,這樣 Excel 就會用該值填充所有選取的錯誤儲存格。 

enter a specific text and press Ctrl + Enter keys

如果您想完全清除這些錯誤儲存格,只需在選擇後按下 Delete 鍵即可讓這些儲存格留空。

提示此方法直接修改工作表儲存格。如果您需要原始錯誤值作為參考或故障排除,請在應用此方法之前備份您的數據。

使用 Kutools for Excel 搜索並替換 # 公式錯誤為 0、任何特定值或空白儲存格

Kutools for Excel錯誤條件嚮導簡化了管理錯誤值的過程。借助此工具,用戶可以靈活地將所有或特定錯誤類型替換為 0、空白儲存格或個人化的訊息,以便於展示或下游編輯。對於非公式專家或處理大型複雜數據集的用戶來說,這尤其方便。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

1. 首先選擇您想要替換錯誤值的範圍。然後導航到菜單並點擊 Kutools > 更多 > 錯誤條件嚮導

click Kutools > More > Error Condition Wizard

2.錯誤條件嚮導對話框中,依照以下方式配置您的偏好設定:

specify the options in the dialog box

(1) 在錯誤類型下,選擇是否將操作應用於所有錯誤值僅 #N/A 錯誤值除了 #N/A 外的所有錯誤值。根據您的場景選擇適當的選項。

(2) 在錯誤顯示部分,如果希望錯誤顯示為空白,選擇無(空白儲存格)

若要用零或訊息替換錯誤,選擇文字訊息並在欄位中輸入 "0" 或自訂文字。

(3) 點擊「確定」以應用更改。

該工具將立即處理您的選擇,根據您的設置替換範圍內的錯誤值。以下是視覺結果:

將所有錯誤值替換為空白

Replace all error values with blank

將所有錯誤值替換為零

Replace all error values with zero

將所有錯誤值替換為特定文字

Replace all error values with certain text

  如果您想免費試用(30天)此工具,請點擊下載,然後按照上述步驟進行操作。

Kutools for Excel 中的錯誤條件嚮導對於重複清理任務非常實用。如有需要,您也可以快速撤銷(Ctrl + Z)更改。在應用批量操作之前,務必檢查您的選擇,尤其是在大型數據集上。


通過 VBA 程式碼將所有錯誤值替換為 0、空白或指定文字

對於進階場景,例如自動清理大型工作表或反覆處理特定錯誤替換,使用簡單的 VBA 宏可以節省時間和手動工作。下面您將找到使用 VBA 批量替換選取範圍內所有錯誤值的逐步指導,以您首選的替代方案—0、空白儲存格或特定訊息進行替換。
此方法高度可擴展,適合熟悉基本宏操作的用戶。

1. 點擊開發者 > Visual Basic 啟動 Visual Basic for Applications (VBA) 編輯器。在出現的編輯器中,點擊插入 > 模組,並將以下程式碼複製粘貼到空白模組窗口中:

Sub ReplaceErrorsWithValue()
    Dim WorkRng As Range
    Dim ReplaceWhat As String
    Dim Prompt As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select the range to process", xTitleId, WorkRng.Address, Type:=8)
    
    Prompt = "Enter the replacement value for errors:" & vbCrLf & "(Leave blank for empty cell; enter 0 or any text string as needed)"
    ReplaceWhat = Application.InputBox(Prompt, xTitleId, "", Type:=2)
    
    If Not WorkRng Is Nothing Then
        Dim cell As Range
        Application.ScreenUpdating = False
        
        For Each cell In WorkRng
            If IsError(cell.Value) Then
                cell.Value = ReplaceWhat
            End If
        Next
        
        Application.ScreenUpdating = True
    End If
End Sub

2.然後通過點擊 Run button 按鈕或按下 F5 在 VBA 窗口中運行宏。當提示時,選擇目標範圍,然後指定您所需的替換:留空輸入框以清除錯誤儲存格(留空),或輸入 "0" 以替換為零,或輸入自定義標籤文字。

注意和提示:
  • 始終確保選擇您希望處理的特定範圍。更改是即時的,在關閉文件後無法撤銷,因此在進行大批量操作前請考慮備份。
  • 此宏針對所有儲存格錯誤類型(#DIV/0!、#VALUE!、#REF! 等)。如果您希望限制替換為某些錯誤類型,可以在循環內部添加額外的邏輯(例如,If cell.Text = "#N/A" Then ...)。
  • 如果替換值留空,錯誤儲存格將被清除,顯示為空白儲存格。對於數字替換(如 0),只需在輸入提示中輸入 "0"。

使用 Kutools for Excel 搜索並替換 # 公式錯誤為 0 或空白

 

相關文章:

最佳 Office 辦公效率工具

🤖 Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions
熱門功能查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入...
高級 LOOKUP多條件查找|多值查找|多表查找|模糊查找...
高級下拉列表快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ...
列管理器添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ...
精選功能網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)...
前15 大工具集12 款文本工具添加文本刪除特定字符,...)|50+ 種圖表 類型甘特圖,...)|40+ 實用 公式基於生日計算年齡,...)|19 款插入工具插入QR码按路徑插入圖片,...)|12 款轉換工具金額轉大寫匯率轉換,...)|7 款合併和分割工具高級合併行分割儲存格,...)| ...以及更多
使用 Kutools 支援你的語言——支援英語、西班牙語、德語、法語、中文及40 多種語言!

利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...


Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆

  • 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
  • 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
  • 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!