メインコンテンツへスキップ

特定のエラー値をExcelで非表示にする方法は?

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

例えば、Excelワークシートに修正する必要がなく、単に非表示にしたいエラー値があるとします。この問題に対処するために、すべてのエラー値を非表示にする方法については説明しましたが、特定のエラー値だけを非表示にしたい場合はどうすればよいでしょうか?このチュートリアルでは、以下の3つの方法でその作業を行う方法をお見せします。

A screenshot of specific error values being hidden


VBAを使用してテキストを白に変更し、複数の特定のエラー値を非表示にする

選択範囲または複数のワークシート全体で、指定されたエラーのフォント色を白に変更することで、複数の特定のエラー値を迅速に非表示にするための2つの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. 指定されたエラー値が非表示になったことを知らせるダイアログボックスが以下のようにポップアップします。「OK」をクリックしてダイアログを閉じます。
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. 「OK」をクリックします。指定されたエラー値が選択したオプションとして表示されます。
A screenshot of the updated Excel sheet with error values replaced using Kutools' Error Condition Wizard

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


数式を使用して特定のエラーを他の値に置き換える

特定のエラー値を置き換えるには、ExcelのIFIFNA、およびERROR.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 アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ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%向上させ、毎日数百回のマウスクリックを減らします!