Skip to main content

如何在 Excel 中隱藏特定的錯誤值?

Author: Amanda Li Last Modified: 2025-05-12

假設您的 Excel 工作表中有一些不需要修正但需要隱藏的錯誤值。針對這個問題,我們已經討論過如何隱藏 Excel 中的所有錯誤值,那麼如果您只想隱藏特定的錯誤值該怎麼辦呢?在本教程中,我們將向您展示以下三種方法來完成此操作。

A screenshot of specific error values being hidden


使用 VBA 將文字變為白色以隱藏多個特定的錯誤值

我們創建了兩個 VBA 程式碼,幫助您通過將指定錯誤的字體顏色變為白色,快速隱藏選定區域或多個工作表中的多個特定錯誤值。請按照以下步驟操作,並根據需要運行程式碼。

1. 在您的 Excel 中,按下「Alt」+「F11」鍵以打開「Microsoft Visual Basic for Applications」窗口。

2. 點擊「插入」>「模組」。然後將以下任一 VBA 程式碼複製到「模組」窗口中。
A screenshot of the VBA code in the module window in Excel

VBA 程式碼 1:隱藏選定範圍內的多個特定錯誤值

Sub HideSpecificErrors_SelectedRange()
  'Updated by ExtendOffice 20220824
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg As Range
Dim xURg As Range
Dim xFindRgs As Range
Dim xFAddress As String
Dim xBol As Boolean
Dim xJ

xArrFinStr = Array("#DIV/0!”, “#N/A”, “#NAME?") 'Enter the errors to hide, enclose each with double quotes and separate them with commas

On Error Resume Next
Set xRg = Application.InputBox("Please select the range that includes the errors to hide:", "Kutools for Excel", , Type:=8)
If xRg Is Nothing Then Exit Sub

xBol = False
For Each xARg In xRg.Areas
    Set xFindRg = Nothing
    Set xFindRgs = Nothing
    Set xURg = Application.Intersect(xARg, xARg.Worksheet.UsedRange)
    For Each xFindRg In xURg
        For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
            If xFindRg.Text = xArrFinStr(xJ) Then
                xBol = True
                If xFindRgs Is Nothing Then
                    Set xFindRgs = xFindRg
                Else
                    Set xFindRgs = Application.Union(xFindRgs, xFindRg)
                End If
            End If
        Next
    Next
    If Not xFindRgs Is Nothing Then
        xFindRgs.Font.ThemeColor = xlThemeColorDark1
        
    End If
Next
If xBol Then
    MsgBox "Successfully hidden."
Else
     MsgBox "No specified errors were found."
End If
End Sub

注意:在第 12 行的程式碼片段 "xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?")" 中,您應該將 "#DIV/0!", "#N/A", "#NAME?" 替換為您想要隱藏的實際錯誤,記住每個值需要用雙引號括起來並用逗號分隔。

VBA 程式碼 2:跨多個工作表隱藏多個特定錯誤值

Sub HideSpecificErrors_WorkSheets()
'Updated by ExtendOffice 20220824
Dim xRg As Range
Dim xFindStr As String
Dim xFindRg As Range
Dim xARg, xFindRgs As Range
Dim xWShs As Worksheets
Dim xWSh As Worksheet
Dim xWb As Workbook
Dim xURg As Range
Dim xFAddress As String
Dim xArr, xArrFinStr
Dim xI, xJ
Dim xBol As Boolean
xArr = Array("Sheet1", "Sheet2") 'Names of the sheets where to find and hide the errors. Enclose each with double quotes and separate them with commas
xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?") 'Enter the errors to hide, enclose each with double quotes and separate them with commas
'On Error Resume Next
Set xWb = Application.ActiveWorkbook
xBol = False
For xI = LBound(xArr) To UBound(xArr)
    Set xWSh = xWb.Worksheets(xArr(xI))
    Set xFindRg = Nothing
    xWSh.Activate
    Set xFindRgs = Nothing

    Set xURg = xWSh.UsedRange
    Set xFindRgs = Nothing
    For Each xFindRg In xURg
        For xJ = LBound(xArrFinStr) To UBound(xArrFinStr)
            If xFindRg.Text = xArrFinStr(xJ) Then
                xBol = True
                If xFindRgs Is Nothing Then
                    Set xFindRgs = xFindRg
                Else
                    Set xFindRgs = Application.Union(xFindRgs, xFindRg)
                End If
            End If
        Next
    Next
    If Not xFindRgs Is Nothing Then
        xFindRgs.Font.ThemeColor = xlThemeColorDark1
        
    End If
Next
If xBol Then
    MsgBox "Successfully hidden."
Else
     MsgBox "No specified errors were found."
End If
End Sub
注意:
  • 在第 15 行的程式碼片段 "xArr = Array("Sheet1", "Sheet2")" 中,您應該將 "Sheet1", "Sheet2" 替換為您想要隱藏錯誤的工作表名稱。記住每個工作表名稱需要用雙引號括起來並用逗號分隔。
  • 在第 16 行的程式碼片段 "xArrFinStr = Array("#DIV/0!", "#N/A", "#NAME?")" 中,您應該將 "#DIV/0!", "#N/A", "#NAME?" 替換為您想要隱藏的實際錯誤,記住每個錯誤需要用雙引號括起來並用逗號分隔。

3. 按下「F5」鍵運行 VBA 程式碼。

注意:如果您使用的是「VBA 程式碼 1」,會彈出一個對話框,要求您選擇要查找和刪除錯誤值的範圍。您也可以點擊工作表標籤選擇整個工作表。

4. 如下所示的對話框彈出,告訴您指定的錯誤值已被隱藏。點擊「確定」關閉對話框。
A screenshot of the dialog box confirming that the specified error values were successfully hidden

5. 指定的錯誤值已立即被隱藏。
A screenshot of specific error values being hidden


使用「錯誤條件嚮導」功能將特定的錯誤值替換為其他值

如果您不熟悉 VBA 程式碼,Kutools for Excel 的「錯誤條件嚮導」功能可以幫助您輕鬆找到所有錯誤值、所有 #N/A 錯誤或除 #N/A 以外的任何錯誤,並將它們替換為您指定的其他值,請繼續閱讀以了解如何完成此操作。

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

1. 在「Kutools」選項卡的「公式」組中,點擊「更多」>「錯誤條件嚮導」。
A screenshot of the Error Condition Wizard option on the Kutools tab in Excel

2. 在彈出的「錯誤條件嚮導」對話框中,請執行以下操作:
  • 在「區域」框中,點擊範圍選擇按鈕選擇包含您想隱藏的錯誤的範圍。
    注意:若要在整個工作表中搜索,請點擊工作表標籤。
  • 在「錯誤類型」部分,指定要隱藏哪些錯誤值。
  • 在「錯誤顯示」部分,選擇您希望如何替換這些錯誤的方式。
A
 screenshot of the Error Condition Wizard dialog box

3. 點擊「確定」。指定的錯誤值將以您選擇的選項顯示。
A screenshot of the updated Excel sheet with error values replaced using Kutools' Error Condition Wizard

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取


使用公式將特定錯誤替換為其他值

要替換特定的錯誤值,Excel 的 IFIFNAERROR.TYPE 函數可以幫您忙。但首先,您應該知道每個錯誤值對應的數字代碼。

# 錯誤 公式 返回值
#NULL! =ERROR.TYPE(#NULL!) 1
#DIV/0! =ERROR.TYPE(#DIV/0!) 2
#VALUE! =ERROR.TYPE(#VALUE!) 3
#REF! =ERROR.TYPE(#REF!) 4
#NAME? =ERROR.TYPE(#NAME?) 5
#NUM! =ERROR.TYPE(#NUM!) 6
#N/A =ERROR.TYPE(#N/A) 7
#GETTING_DATA =ERROR.TYPE(#GETTING_DATA) 8
#SPILL! =ERROR.TYPE(#SPILL!) 9
#UNKNOWN! =ERROR.TYPE(#UNKNOWN!) 12
#FIELD! =ERROR.TYPE(#FIELD!) 13
#CALC! =ERROR.TYPE(#CALC!) 14
其他錯誤 =ERROR.TYPE(123) #N/A

A screenshot of a list with values and errors

例如,您有一個如上所示的表格。要將「#DIV/0!」錯誤替換為文本字符串「Divide By Zero Error」,您應該首先找到此錯誤的代碼,即「2」。然後在單元格「B2」中應用以下公式,並向下拖動填充柄以將公式應用於下方的單元格:

=IF(IFNA(ERROR.TYPE(A2),A2)=2,"Divide By Zero Error",A2)

A screenshot of the #DIV/0! error being replaced with 'Divide By Zero Error'

注意:
  • 在公式中,您可以將錯誤代碼「2」替換為對應於其他錯誤值的代碼。
  • 在公式中,您可以將文本字符串「Divide By Zero Error」替換為其他文本消息,或者如果想用空白單元格替換錯誤,則替換為「」。

相關文章

如何在 Excel 中隱藏所有錯誤值?

當您處理 Excel 工作表時,有時候您可能會發現一些錯誤值,例如 #DIV/0、#REF、#N/A 等等,這些都是由公式錯誤引起的。現在,您希望在工作表中隱藏所有這些錯誤值,如何在 Excel 中快速輕鬆地解決這個問題呢?

如何在 Excel 中將 #DIV/0! 錯誤更改為可讀的消息?

有時候,當我們使用公式在 Excel 中進行計算時,會顯示一些錯誤消息。例如,在這個公式 =A1/B1 中,如果 B1 是空的或包含 0,公式將顯示 #DIV/0 錯誤。有沒有辦法讓這些錯誤消息更清晰易讀,或者如果您想用其他消息替換這些錯誤,該怎麼做呢?

如何在刪除 Excel 中的行時避免 #Ref 錯誤?

當您引用另一個單元格時,如果引用的行已被刪除,該單元格將顯示 #REF 錯誤,如下方截圖所示。現在我將談談如何避免 #ref 錯誤以及在刪除行時自動引用下一個單元格。

如何在 Excel 中突出顯示所有錯誤單元格?

如果您在工作表中創建公式,不可避免地會出現一些錯誤值。您能否一次突出顯示工作表中包含錯誤值的所有單元格?Excel 中的條件格式工具可以幫助您解決這個問題。

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!