特定のエラー値を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 アシスタント: データ分析を革命化する: インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析しグラフを生成 | 拡張機能を呼び出す… |
人気の機能: 重複を見つけてハイライトまたはマーキング | 空白行を削除 | データを失わずに列またはセルを統合 | 丸める ... | |
スーパー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%向上させ、毎日数百回のマウスクリックを減らします!