特定のエラー値をExcelで非表示にする方法は?
例えば、Excelワークシートに修正する必要がなく、単に非表示にしたいエラー値があるとします。この問題に対処するために、すべてのエラー値を非表示にする方法については説明しましたが、特定のエラー値だけを非表示にしたい場合はどうすればよいでしょうか?このチュートリアルでは、以下の3つの方法でその作業を行う方法をお見せします。
VBAを使用してテキストを白に変更し、複数の特定のエラー値を非表示にする
選択範囲または複数のワークシート全体で、指定されたエラーのフォント色を白に変更することで、複数の特定のエラー値を迅速に非表示にするための2つのVBAコードを作成しました。以下の手順に従って、ニーズに応じてコードを実行してください。
1. Excelで「Alt」+「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 「挿入」>「モジュール」をクリックします。そして、次のいずれかのVBAコードを「モジュール」ウィンドウにコピーします。
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コードを実行します。
4. 指定されたエラー値が非表示になったことを知らせるダイアログボックスが以下のようにポップアップします。「OK」をクリックしてダイアログを閉じます。
5. 指定されたエラー値が一度に非表示になります。
エラー条件ウィザード機能を使用して特定のエラー値を他の値に置き換える
VBAコードに慣れていない場合、Kutools for Excelの「エラー条件ウィザード」機能を使用すると、すべてのエラー値、すべての#N/Aエラー、または#N/A以外の任意のエラーを簡単に見つけ、指定した他の値に置き換えることができます。この作業を行う方法について、引き続きお読みください。
1. 「Kutools」タブの「数式」グループで、「その他」>「エラー条件ウィザード」をクリックします。
- 「範囲」ボックスで、エラーを含む範囲を選択するための範囲選択ボタンをクリックします。 注: 全シートを検索するには、シートタブをクリックします。
- 「エラータイプ」セクションで、非表示にするエラー値を指定します。
- 「エラーの表示」セクションで、エラーをどのように置き換えるかを選択します。

3. 「OK」をクリックします。指定されたエラー値が選択したオプションとして表示されます。
Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手
数式を使用して特定のエラーを他の値に置き換える
特定のエラー値を置き換えるには、ExcelのIF、IFNA、および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 |
例えば、上記のような値を持つ表があるとします。「#DIV/0!」エラーを文字列「Divide By Zero Error」に置き換えるには、まずこのエラーのコードを見つけます(これは「2」です)。次に、セル「B2」に次の数式を適用し、フィルハンドルを下にドラッグして数式を下のセルにも適用します:
=IF(IFNA(ERROR.TYPE(A2),A2)=2,"Divide By Zero Error",A2)
- 数式では、エラーコード「2」を他のエラー値に対応するコードに置き換えることができます。
- 数式では、テキスト文字列「Divide By Zero Error」を他のテキストメッセージに置き換えたり、エラーを空白セルに置き換えたい場合は「""」に置き換えたりすることができます。
関連記事
Excelワークシートで作業しているとき、時には #DIV/0、#REF、#N/A などのエラー値が見つかることがあります。これらは数式エラーによって発生します。これらのエラー値をワークシート内で全て非表示にしたい場合、Excelでこのタスクを迅速かつ簡単に解決するにはどうすればよいですか?
Excelで#DIV/0!エラーを読みやすいメッセージに変更する方法は?
時々、Excelで数式を使って計算する際に、エラーメッセージが表示されることがあります。例えば、この数式=A1/B1の場合、B1が空であるか0が含まれている場合、数式は#DIV/0エラーを表示します。これらのエラーメッセージをよりわかりやすくしたり、他のメッセージで置き換えたりする方法はありますか?
Excelで行を削除するときに#Refエラーを回避する方法は?
あるセルを別のセルに参照している場合、参照行が削除されると、そのセルは#REFエラーを表示します(下のスクリーンショット参照)。ここでは、#refエラーを回避し、行を削除しながら自動的に次のセルを参照する方法について説明します。
ワークシートで数式を作成すると、エラー値が現れるのは避けられません。ワークシート内のエラー値を含むすべてのセルを一度にハイライトすることは可能でしょうか?Excelの条件付き書式機能がこの問題を解決するのに役立ちます。
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパー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でタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得