Excel(エクセル)で数式が参照するセルの値が空白だった場合、数式の結果が「0」や「DIV/0!」になってしまいます。
計算に使うセルの値が未入力であれば、数式の結果は表示したくないですよね。
この記事では、『セルの値が空白だった場合は数式の結果を表示しない7つの方法』を紹介します。
数式の結果を非表示にする7パターンの方法の中から、使いやすい方法を利用してください。
値が空白(ブランク)の場合、数式の結果は?
数式が参照するセルの値が空白(未入力、ブランク)だった場合、数式の結果は「0」、「#DIV/0!」が発生します。
まずは、どんな場合にそのような結果が表示されるのか紹介します。
数式の結果が「0」
足し算や掛け算の数式が参照するセルの値が空白(ブランク) だった場合、数式の結果は「0」となってしまいます。
例えば、下のように、B列やC列の値のどちらかが空白だった場合は、D列の掛け算の結果は「0」です。
「0」がずら~って並ぶと、つい消してしまいたくなるよね。
数式の結果が「#DIV/0!」
割り算を利用した場合、割り算の分母に当たるセルの値が空白もしくは0だった場合、数式の結果は「#DIV/0!」となってしまいます。
例えば、下のように、分母にあたるC列の値が空白もしくは0の場合は、D列の割り算の結果は「#DIV/0!」です。
エラー値「#DIV/0!」は、「ディブゼロエラー」といい、数値をゼロで割ると表示されます。
「#DIV/0!」の「DIV」は、割るを意味する「divide」の頭文字からとられたものです。
仕方ないエラーとはいえ、見栄えは悪くなるよね・・
値が空白だった場合、「0」や「#N/A」を表示しない方法
それでは、数式に使用するセルの値が空白だった場合に、「0」や「#N/A」を表示しない方法を紹介します。
実用的なものから順番に紹介しますので、使いやすい方法を1つ選んでください。
方法1:IF関数の引数に「空白(””)」を利用する
IF関数を使って、下の表のD列の数量が空白だった場合は、E列の金額が表示されないようにする方法を紹介します。
使い方のポイントは、関数に「””」と入力すると、空白セルを指定できるということです。
引数の使い方によって、IF関数でも2つの方法が存在します。
それでは、まず1つ目の方法から紹介します。
手順1.IF関数の第1引数を設定
まずは、E3セルにIF関数を挿入し、第1引数「論理式」を設定します。条件は、「D列が空白だった場合」と設定したいので、以下のように入力します。
=IF(D3="",
手順2.IF関数の第2引数を設定
次に、IF関数の第2引数「値が真の場合」を設定します。「D列が空白だった場合は空白」に設定したいので、以下のように入力します。
=IF(D3="","",
手順3.IF関数の第3引数を設定
最後に、IF関数の第3引数「値が偽の場合」を設定します。D列が空白でない場合は、単価と数量を掛け算したいので、以下のように設定します。
=IF(D3="","",C3*D3)
手順4.結果を確認
IF関数を確定させて、一番下のセルまで関数をコピペしてください。
そうすると、一番下のセルにも数式は挿入されていますが、D列が空白の場合、結果が空白で表示されます。
方法2:IF関数の引数に「以外(<>)」を利用する
続いて、IF関数を用いた2つ目の方法を紹介します。
使い方のポイントは、IF関数の論理式に「<>」と入力すると、「それ以外」という条件を指定できるということです。
手順1.IF関数の第1引数を設定
まずは、E3セルにIF関数を挿入し、第1引数「論理式」を設定します。条件は、「D列が空白以外」と設定したいので、以下のように入力します。
=IF(D3<>"",
手順2.IF関数の第2引数を設定
次に、IF関数の第2引数「値が真の場合」を設定します。「D列が空白以外であれば単価と数量を掛ける」と設定したいので、以下のように入力します。
=IF(D3<>"",C3*D3,
手順3.IF関数の第3引数を設定
最後に、IF関数の第3引数「値が偽の場合」を設定します。D列が空白以外ではない、つまりD列が空白の場合の値を指定したいので、空白を表す「””」を入力します。
=IF(D3<>"",C3*D3,"")
手順4.結果を確認
IF関数を確定させて、一番下のセルまで関数をコピペしてください。
そうすると、一番下のセルにも数式は挿入されていますが、D列が空白の場合、結果が空白で表示されます。
方法3:IFS関数を利用する
数式の結果を表示しない3つ目の方法は、IFS関数(イフス)を利用する方法です。
IFS関数は、IF関数を単一条件もしくは複数の条件で利用することができるIF関数の進化版の関数です。
👇IFS関数の使い方
現時点ではMicrosoft365とExcel2019以降のバージョンでしか利用できませんが、利用出来る方は、この関数を使うと、より簡単に数式の結果をブランクにすることができます。
IFS関数の構文と引数は以下のとおりです。
IFS 関数は、1 つ以上の条件が満たされているかどうかをチェックして、最初の条件に対応する値を優先して表示します。
=IFS(論理式1, 真の場合1, 論理式2, 真の場合2,論理式3, 真の場合3, ..., )
IFS関数では論理式に当てはまらない場合の引数の使い方が少し独特です。
最後の引数「論理式」を「TRUE」と設定し、最後の「真の値」に、論理式に当てはまらない場合に表示したい文字を設定します。(下の例:TRUE,”×”)
例えば、下の図の例では、『C3セルが80以上であれば「〇」を表示し、それ以外であれば「×」を表示』というIFS関数の使い方です。
それでは実際に、IFS関数を用いて、D列の数量が空白だった場合は、E列の金額が表示されないようにする方法を紹介します。
手順1.IFS関数の第1条件を設定
まずは、E3セルにIFS関数を挿入し、第1条件の「論理式」と「値」をセットで設定します。条件は、「D列が空白だった場合は空白を表示」と設定したいので、以下のように入力します。
=IFS(D3="","",
手順2.IFS関数の第2条件を設定
次に、第2条件の「論理式」と「値」をセットで設定します。条件は、「第1条件に当てはまらない場合は単価と数量を掛け算する」と設定したいので、以下のように入力します。
=IFS(D3="","",TRUE,C3*D3)
手順3.IFS関数の結果を確認
IFS関数を確定させて、一番下のセルまでIFS関数をコピペしてください。
そうすると、一番下のセルにも数式は挿入されていますが、D列が空白の場合、結果が空白で表示されます。
IFS関数は複数の条件でも使えるので、より高度な空白の条件を設定することができます。
例えば、以下のように、IFS関数で3つの条件を設定することで、C列もしくはD列のセルが空白だった場合にE列を空白にすることも可能です。
=IFS(C3="","",D3="","",TRUE,C3*D3)
方法4:エクセルのオプション設定で「0」を非表示
数式の結果を表示しない4つ目の方法は、Excelのオプション設定画面でセルの数値「0」を非表示にする方法です。
「ファイル」タブ⇒「その他」⇒「オプション」を選択し、「Excelのオプション」画面を表示します。
次に、左側の「詳細設定」メニューをクリックし、「次のシートで作業する時の表示設定」で「ゼロ値のセルにゼロを表示する」のチェックを外します。
そうすると、セルの値が「0」の場合は、全て表示されなくなります。
ただし、この設定は数式セルだけでなく値で入力されている0も見えなくなるので注意が必要です。
方法5:セルの書式設定を利用する
数式の結果を表示しない5つ目の方法は、「セルの書式設定」画面のユーザー定義メニューを利用する方法です。
まずは、数式が挿入されたセルを選択し、右クリックメニューの「セルの書式設定」をクリックします。
次に、「セルの書式設定」画面でユーザー定義を「#」(シャープ)と設定し、「OK」を押して画面を閉じます。
D列には「=B5*C5」などの掛け算の数式が挿入されていますが、B列とC列の値が未入力の場合は、D列の結果は表示されません。
ただし、「0.1×0.1」など、計算結果が小数点が含む場合は、正しく結果が表示されませんので使い方には注意が必要です。
方法6:IFERROR関数を利用する
数式の結果を表示しない6つ目の方法は、IFERROR関数(イフ・エラー)を利用する方法です。
IFERROR関数は、数式のエラー値「#N/A」「#DIV/0!」「#NULL!」「#NUM!」「#VALUE!」「#NAME?」「#REF!」のいずれかを、任意の値に変換する関数です。
例えば、割り算を使うと、分母が0や空白の場合はエラー値「#DIV/0!」が表示されますが、IFERROR関数を使えば、計算結果を見えなくすることができます。
手順1.IFERROR関数の第1引数を設定
まず、IFERROR関数を挿入し、第1引数には、エラー表示を消したい対象の数式や関数を挿入します。
=IFERROR(B3/C3,
手順2.IFERROR関数の第2引数を設定
次に、IFERROR関数の第2引数にエラー値をどんな値で表示したいか設定します。今回は空白で表示したいので、「””」と入力します。
=IFERROR(B3/C3,"")
手順3.IFERROR関数の結果を確認
IFERROR関数を確定させて、一番下のセルまでIFS関数をコピペしてください。
そうすると、一番下のセルにも数式は挿入されていますが、E列がエラー値の場合は、結果が空白で表示されます。
もちろん、数式の結果を表示しないことも可能ですが、数式の結果を「-」(ハイフン)と表示させたり、「非該当」と文字で表示することも可能です。
方法7:条件付き書式設定
数式の結果を表示しない7つ目の方法は、「条件付き書式」コマンドを使って、数式の結果が「0」だった場合は、セルの文字を白色にする方法です。
まずは、数式のセル範囲を選択して、「ホーム」タブの「条件付き書式」→「新しいルール」をクリックします。
次に、ルールの種類を「指定の値を含むセルだけを書式設定」を選択し、条件を「次の値に等しい」に変更し、値は「0」と入力します。
設定したら、右下の「書式」をクリックします。
「フォント」タブから白色を選択して、「OK」で画面を閉じます。「新しい書式ルール」画面に戻りますので、さらに「OK」を押して画面を閉じて下さい。
そうすると、数式の結果が「0」のセルは、文字が白色に変更されたことにより、0が表示されていないように見えます。
(おまけ) エラー値「#N/A」を非表示にする方法
関数を利用した場合、数式の結果が「#N/A」となることがあります。
例えば、下のように、表から情報を取り出すことが出来るVLOOKUP関数を利用しようとしても、表に該当する値が無い場合は「#N/A」と表示されます。
エラー値「#N/A」は、「ノーアサイン」と読みます。数式で参照の対象が見つからないことを示しています。
上で紹介したVLOOKUP関数は、「#N/A」が表示されやすい代表的な関数です。
このような場合は、上の見出しでも紹介したIFERROR関数を利用して、VLOOKUP関数のエラー値を別の値に変換することができます。
=IFERROR(VLOOKUP(F3,B3:D8,3,FALSE),"該当なし")
IFERROR関数を使ったエラー値の変換方法は、以下の記事を参考にしてください。