Excelで表を作っていると、入力前の行に「0」や「FALSE」やエラーがずらっと出て、見た目が一気に悪くなることがあります。提出前の管理表で、まだ入力していないセルに不要な表示が並んでいると、「このまま共有して大丈夫かな」と手が止まりますよね。
IF関数で空白なら表示しないようにするには、基本的に「入力元のセルが空白なら空白を返す」という式を使います。たとえば、A2が空白なら何も表示せず、入力されていれば計算や文字表示を行うなら、=IF(A2="","",処理) の形にします。
ロロメディア編集部でも、記事管理表や請求管理表を作るとき、未入力行に0やエラーが出てしまい、共有前に慌てて直したことがあります。関数そのものは難しくありません。大事なのは、「何を空白と判断するのか」「空白のときに何を表示しないのか」を分けて考えることです。
IF関数で空白なら表示しない基本式

作業中の表で、A列に名前を入れる前からB列やC列に計算結果が出てしまうことがあります。まだ入力していない行に数字や文字が出ると、未処理なのか処理済みなのか分からなくなり、確認作業が止まります。
IF関数で空白なら表示しない基本は、対象セルが空白かどうかを判定し、空白なら "" を返す形です。"" は空文字と呼ばれ、見た目上は何も表示しないという意味になります。Excelでは空白そのものではありませんが、セル上では空欄のように見えます。
一番よく使う形は次の式です。
=IF(A2="","",B2*C2)
この式は、A2が空白なら何も表示せず、A2に何か入っていればB2とC2を掛け算します。たとえば、A列に商品名、B列に単価、C列に数量がある表で、商品名が入っていない行には金額を表示したくないときに使えます。
空白なら空白、入力があれば処理する式の考え方
IF関数は、「条件に合う場合」と「条件に合わない場合」で表示を分ける関数です。関数とは、Excelにあらかじめ用意されている計算や判定の命令のことです。
基本形は、=IF(条件,条件に合う場合,条件に合わない場合) です。ここで「A2が空白なら」という条件を書くと、A2="" になります。つまり、A2の中身が何もないなら、という意味です。
そのため、空白なら表示しない式は次のように組み立てます。
・条件:A2が空白かどうか
・空白の場合:何も表示しない
・空白でない場合:計算や文字を表示する
この流れで考えると、複雑に見える式も一気に分かりやすくなります。いきなり関数を書こうとすると迷いますが、「どのセルを見て判断するか」から決めれば失敗しにくいですよ。
"" と本当の空白の違い
"" は見た目では空白に見えますが、厳密には「空文字」というデータが入っています。空文字とは、文字数ゼロの文字データのことです。
普通に表を作る分には、"" で問題ありません。未入力行をきれいに見せたい、0やエラーを隠したい、提出用の表を整えたいという目的なら十分です。
ただし、COUNTBLANK関数のように空白セルを数える関数を使う場合、"" が入ったセルの扱いで結果が変わることがあります。集計まで厳密に管理する表なら、見た目の空白と完全な未入力セルは違うと覚えておくと安心です。
IF関数でセルが空白なら計算結果を表示しない方法

売上表や勤怠表を作っていると、入力前の行に計算結果だけ出てしまうことがあります。たとえば単価や数量が空白なのに、金額欄に0が出ると、入力済みの0なのか未入力なのか判断しづらくなります。
この場合は、計算に使うセルが空白なら結果を表示しないようにします。どのセルを基準にするかが大事です。商品名が入ったら計算するのか、単価と数量が両方入ったら計算するのかで式が変わります。
よく使うのは、1つのセルを基準にする方法と、複数のセルが入力されているかを確認する方法です。表の運用に合わせて選んでください。
1つのセルが空白なら計算しない式
たとえば、A列に商品名、B列に単価、C列に数量、D列に金額を出す表があるとします。A2の商品名が空白なら、D2には何も表示したくない場合は次の式です。
=IF(A2="","",B2*C2)
この式なら、商品名が入るまで金額欄は空白のままです。商品名を入力した時点で、単価と数量の掛け算が表示されます。
ただし、A2に商品名だけ入っていて、B2やC2が空白の場合は、結果が0になることがあります。これを避けたいなら、単価と数量が両方入力されたときだけ計算する式にした方が実務では安全です。
複数セルが空白なら計算しない式
提出用の見積表では、単価だけ入力済み、数量は未入力という状態もあります。このとき金額欄に0が出ると、相手が「数量0」と勘違いする可能性があります。
B2とC2の両方が入力されたときだけ計算したいなら、次の式を使います。
=IF(OR(B2="",C2=""),"",B2*C2)
OR関数は、複数条件のうち1つでも当てはまればTRUEにする関数です。ここでは「B2が空白、またはC2が空白なら何も表示しない」という意味になります。
もう少し厳密に、「B2とC2の両方が入力されている場合だけ計算する」と考えるなら、次の式でも構いません。
=IF(AND(B2<>"",C2<>""),B2*C2,"")
AND関数は、すべての条件を満たしたときだけTRUEにする関数です。<>"" は空白ではないという意味になります。実務では、どちらの式でも結果はほぼ同じですが、「両方入っているなら計算」と考えたい人にはANDの方が読みやすいかもしれません。
IF関数でゼロを表示しない方法

計算式を入れた列に0が並ぶと、表が一気に見づらくなります。まだ売上が入力されていないだけなのに、0円がずっと表示されていると、上司に提出する前に「これ、未入力なのか実績ゼロなのか」と確認されるかもしれません。
IF関数でゼロを表示しない場合は、計算結果が0なら空白を返します。つまり、セルの入力状態ではなく、計算結果そのものを判定します。
基本式は次の通りです。
=IF(B2*C2=0,"",B2*C2)
この式は、B2とC2の掛け算結果が0なら何も表示せず、0以外なら計算結果を表示します。ただし、実務では注意点があります。本当に0を表示すべきケースまで消えてしまう可能性があるからです。
未入力の0と実績ゼロを分ける考え方
ゼロを表示しない設定で一番怖いのは、本当に0であるべき数字まで隠してしまうことです。たとえば、売上が本当に0円だった日と、まだ売上を入力していない日は意味が違います。
もし「未入力なら空白、入力済みで結果が0なら0を表示」したいなら、入力セルの空白を判定します。たとえば、B2やC2が空白なら空白、それ以外は掛け算結果を表示する式です。
=IF(OR(B2="",C2=""),"",B2*C2)
この式なら、数量が0と入力されていれば計算結果として0が表示されます。未入力の空白と、入力済みのゼロを分けられるため、売上管理や在庫管理ではこちらの方が安全です。
計算結果が0のときだけ非表示にする式
一方で、見た目を優先して「0はすべて表示しない」で問題ない表もあります。たとえば、社内確認用の補助表や、空欄が多いチェックリストでは、0を消した方が読みやすくなることがあります。
その場合は、次の式で十分です。
=IF(D2=0,"",D2)
D2に別の計算結果が入っていて、それが0なら空白、0以外ならD2を表示します。計算式を直接入れるなら、=IF(B2-C2=0,"",B2-C2) のように書けます。
ただし、この形は同じ計算を2回書くため、式が長くなるとミスが増えます。複雑な計算なら、補助列に計算結果を出してからゼロ非表示にする方が管理しやすいです。
IF関数で文字を表示しない方法

判定結果として「未対応」「対象外」「確認中」などを表示する表では、条件に合わないときに余計な文字が出ることがあります。提出前の進捗表で、まだ入力していない行に「未対応」と表示されると、実際には未入力なのに遅れているように見えてしまいます。
文字を表示しない場合も、基本は "" を使います。条件に合う場合だけ文字を表示し、それ以外は空白にする形です。
たとえば、A2に完了日が入っていれば「完了」と表示し、空白なら何も表示しない場合は次の式です。
=IF(A2="","","完了")
この式は、A2が空白なら空白、A2に日付などが入っていれば「完了」と表示します。進捗管理表でよく使う形です。
入力済みのときだけ文字を表示する式
営業リストやタスク表では、入力がある行だけステータスを表示したい場面があります。たとえば、担当者名が入っている行だけ「対応中」と出したい場合です。
その場合は、次の式を使います。
=IF(B2="","","対応中")
B2が空白なら何も表示せず、入力があれば「対応中」と表示されます。担当者が決まったタスクだけステータスを出したいときに使えます。
ただ、担当者名だけで判定すると、担当者を入れただけで対応中になります。実際の運用では、開始日や受付日を基準にした方が正確な場合もあります。どのセルが入力されたらステータスを出すべきか、表の意味に合わせて決めてください。
条件に合わないときだけ空白にする式
たとえば、点数が80点以上なら「合格」と表示し、それ未満や未入力なら何も表示しない場合は次の式です。
=IF(A2>=80,"合格","")
ただし、この式はA2が空白でも、Excel上では0として扱われることがあり、結果として空白になります。見た目は問題ありませんが、未入力と80点未満が同じ空白表示になります。
未入力と不合格を分けたいなら、次のようにします。
=IF(A2="","",IF(A2>=80,"合格","不合格"))
この式なら、未入力なら空白、80点以上なら合格、80点未満なら不合格と分けられます。実務では、このように「未入力」と「条件に合わない」を分ける設計がかなり重要です。
VLOOKUPで空白なら表示しない方法

VLOOKUPを入れた表で、検索値が空白なのにエラーや0が表示されることがあります。顧客コードを入れる前から名前欄にエラーが出ていると、共有前の表としてかなり見づらいですよね。
VLOOKUPで空白なら表示しない場合は、検索値が空白かどうかをIF関数で先に判定します。検索値が空白ならVLOOKUPを実行せず、入力があるときだけ検索する形です。
基本式は次の通りです。
=IF(A2="","",VLOOKUP(A2,$E$2:$G$100,2,FALSE))
この式は、A2が空白なら何も表示しません。A2にコードが入力されたら、E2からG100の範囲で検索し、2列目の値を表示します。
VLOOKUPのエラーも表示しない式
検索値が空白でない場合でも、該当データがないと #N/A が表示されます。#N/A は、該当なしを意味するエラーです。提出用の表でこの表示が並ぶと、かなり雑に見えます。
検索値が空白なら空白、該当がなければ空白にしたい場合は、IFERROR関数を組み合わせます。IFERROR関数は、エラーが出たときに別の表示へ置き換える関数です。
式は次のようになります。
=IF(A2="","",IFERROR(VLOOKUP(A2,$E$2:$G$100,2,FALSE),""))
この式なら、A2が空白なら空白、A2に値があるが検索結果が見つからない場合も空白になります。顧客コードや商品コードを入力する表では、とても使いやすい形です。
ただし、エラーをすべて空白にすると、コード間違いにも気づきにくくなります。社内で入力チェックをしたい表なら、エラー時は「該当なし」と表示した方がよい場合もあります。
該当なしを空白ではなく文字で表示する式
入力ミスを見つけたい場合は、VLOOKUPのエラーを空白にせず、「該当なし」と表示します。これなら、未入力行は空白のまま、入力したのに見つからない行だけ確認できます。
式は次の通りです。
=IF(A2="","",IFERROR(VLOOKUP(A2,$E$2:$G$100,2,FALSE),"該当なし"))
この式は実務でかなり便利です。未入力と検索ミスを分けられるからです。
ロロメディア編集部でも、記事IDを入れると担当者名が出る管理表を作ったとき、エラーを全部空白にしてしまい、IDの入力ミスに気づけなかったことがあります。入力ミスを検出したい表では、空白にしすぎないことも大切です。
IF関数とCOUNTBLANKで複数セルが空白なら表示しない方法

複数の入力欄がある表では、「どれか1つでも空白なら表示しない」だけでは足りないことがあります。たとえば、氏名、部署、メールアドレスの3項目がすべて入力されたときだけ「登録完了」と表示したい場面です。
こういうときは、COUNTBLANK関数を使うと分かりやすくなります。COUNTBLANK関数は、指定した範囲の空白セル数を数える関数です。
たとえば、A2からC2までに空白がなければ「登録完了」と表示し、1つでも空白があれば何も表示しないなら、次の式です。
=IF(COUNTBLANK(A2:C2)>0,"","登録完了")
この式は、A2からC2の中に空白が1つでもあれば空白表示にします。すべて入力されたときだけ「登録完了」が出ます。
入力漏れチェックに使う場合の考え方
提出前の申請リストで、必要項目がそろっているか確認したい場面があります。こういうとき、空白なら表示しないだけではなく、入力がそろったら合図を出す設計にすると便利です。
たとえば、A列が氏名、B列が部署、C列が申請日だとします。3つがすべて入ったらD列に「提出可」と出すなら、次の式です。
=IF(COUNTBLANK(A2:C2)>0,"","提出可")
この式なら、どこか1つでも未入力ならD列は空白です。全部そろった行だけ提出可と表示されます。
ただし、入力漏れを見つけたい場合は、空白ではなく「未入力あり」と表示した方が良いこともあります。表の目的が「見た目を整える」なのか「ミスを見つける」なのかで、表示を変えてください。
空白があるときにメッセージを出す式
入力漏れをあえて表示したい場合は、次のようにします。
=IF(COUNTBLANK(A2:C2)>0,"未入力あり","提出可")
この式なら、空白がある行には「未入力あり」、すべて入っている行には「提出可」と表示されます。入力担当者に差し戻す表では、この方が親切です。
一方、外部に提出する表では「未入力あり」が並ぶと見栄えが悪くなることもあります。その場合は、社内確認用の列として使い、提出時には非表示にする運用が向いています。
IF関数で空白に見えるのに判定されない原因

見た目では空白なのに、IF関数が空白として判定してくれないことがあります。式は合っているはずなのに結果が出てしまい、提出前に「なぜこの行だけ表示されるの?」と焦る場面です。
この原因は、セルの中にスペースや空文字、見えない文字が入っていることです。見た目は空白でも、Excelから見ると完全な空白ではないため、A2="" に当てはまらないことがあります。
特に、Webページや別システムからコピーしたデータでは、半角スペース、全角スペース、改行、見えない制御文字が混ざることがあります。人の目では気づきにくいので、関数で処理する必要があります。
スペースが入っている場合の対処法
セルにスペースだけ入っている場合、見た目は空白に見えます。ただ、Excel上では文字が入っている扱いになります。
この場合は、TRIM関数を使います。TRIM関数は、文字列の前後や余分なスペースを取り除く関数です。
たとえば、A2のスペースを除いた結果が空白なら何も表示しない場合は、次の式です。
=IF(TRIM(A2)="","",処理)
この式なら、A2に半角スペースが入っていても空白扱いにできます。ただし、日本語環境で全角スペースが混ざっている場合は、TRIMだけでは取り切れないことがあります。
全角スペースも空白扱いしたい場合
全角スペースが入っている可能性があるなら、SUBSTITUTE関数を組み合わせます。SUBSTITUTE関数は、指定した文字を別の文字に置き換える関数です。
A2の全角スペースを削除してから空白判定するなら、次の式です。
=IF(SUBSTITUTE(A2," ","")="","",処理)
ここで " " は全角スペースです。見た目では分かりづらいですが、半角スペースとは別物になります。
半角スペースと全角スペースの両方を処理したい場合は、少し長くなります。
=IF(TRIM(SUBSTITUTE(A2," ",""))="","",処理)
この式なら、全角スペースを消したあと、半角スペースも整理して空白判定できます。外部システムからデータを貼り付ける表では、この形を使うと安定します。
GoogleスプレッドシートでIF関数を使って空白なら表示しない方法

Googleスプレッドシートでも、Excelとほぼ同じ考え方でIF関数を使えます。共有シートで未入力行に0やエラーが出ていると、チームメンバーが「ここは処理済みですか」と迷うことがありますよね。
基本式はExcelと同じです。
=IF(A2="","",B2*C2)
A2が空白なら何も表示せず、入力されていればB2とC2を掛け算します。Googleスプレッドシートでも "" は見た目上の空白として使えます。
ただし、スプレッドシートは共同編集されることが多いため、エラーや未入力の扱いを明確にしておくことが大切です。複数人で使う表では、空白にしすぎると、ミスが見えなくなる場合があります。
スプレッドシートでVLOOKUPエラーを空白にする式
Googleスプレッドシートでも、VLOOKUPとIFERRORを組み合わせてエラーを空白にできます。
=IF(A2="","",IFERROR(VLOOKUP(A2,$E$2:$G$100,2,FALSE),""))
この式は、A2が空白なら空白、検索結果がない場合も空白になります。見た目を整えたい一覧表では便利です。
ただし、チームで入力する表なら、該当なしを空白にするより「コード確認」と表示した方が運用しやすい場合もあります。入力ミスを隠さない設計にしたいなら、次のようにします。
=IF(A2="","",IFERROR(VLOOKUP(A2,$E$2:$G$100,2,FALSE),"コード確認"))
この方が、未入力なのか、入力したけれど該当がないのか分かります。
ARRAYFORMULAで空白行に表示しない方法
Googleスプレッドシートでは、ARRAYFORMULAを使って列全体に式を適用することがあります。ARRAYFORMULAとは、1つの式で複数行に処理を広げる機能です。
たとえば、A列が空白なら空白、A列に入力があればB列とC列を掛け算する場合は次のようにします。
=ARRAYFORMULA(IF(A2:A="","",B2:B*C2:C))
この式なら、行ごとに式をコピーしなくても列全体に適用できます。チームで行を追加していく管理表では便利です。
ただし、範囲を列全体にするとシートが重くなることがあります。行数が多いシートでは、A2:A1000 のように範囲を絞ると安定しやすいです。
IF関数で空白表示にするときの実務ミスと回避策

IF関数で空白にする式は便利ですが、使い方を間違えると確認ミスの原因になります。表がきれいに見える一方で、エラーや入力漏れまで隠してしまうことがあるからです。
特に提出用のExcelでは、「見た目を整える列」と「入力ミスを見つける列」を分けると安全です。すべてを空白にしてしまうと、どこが未入力で、どこが異常なのか見えなくなります。
ロロメディア編集部でも、広告レポートの管理表でエラーを全部空白にした結果、参照元のIDミスに気づくのが遅れたことがあります。見た目のきれいさとチェック機能は、少し分けて考えた方がいいですよ。
空白にしてよいセルと表示すべきセルを分ける
空白にしてよいのは、未入力行の計算結果や、まだ判定する必要のない補助表示です。一方で、入力済みなのに該当がない、計算結果が異常、参照先が見つからないといった状態は、空白にしない方が安全です。
たとえば、VLOOKUPでは次のように使い分けます。
・検索値が空白なら空白
・検索値があるのに見つからないなら「該当なし」
・検索結果があるなら値を表示
この考え方なら、未入力行はきれいに保ちつつ、入力ミスには気づけます。式にすると、次のようになります。
=IF(A2="","",IFERROR(VLOOKUP(A2,$E$2:$G$100,2,FALSE),"該当なし"))
このように、空白とエラーを分けて扱うだけで、表の信頼性が上がります。
提出用と作業用で表示を変える
提出用の表では、未入力行や補助列の表示を消して見やすくすることがあります。一方で、作業用の表では、未入力やエラーをあえて表示した方がミスを防げます。
おすすめは、作業用シートでは「未入力あり」「該当なし」「確認」と表示し、提出用シートでは空白にする方法です。1つのシートで全部を済ませようとすると、見た目とチェックの役割がぶつかります。
もし1枚のシートで運用するなら、チェック用の列を右側に作り、提出時には非表示にするとよいでしょう。これなら、作業中はミスに気づけて、提出時は見た目を整えられます。
IF関数で空白なら表示しない式の使い分け一覧

ここまで式がいくつも出てきたので、最後に実務で使う場面ごとに整理します。提出前に急いでいるときは、ここから近いものを選んで使ってください。
空白表示の式は、目的ごとに選ぶ必要があります。未入力を隠したいのか、0を消したいのか、エラーを消したいのかで式は変わります。
| やりたいこと | 使う式 |
|---|---|
| A2が空白なら表示しない | =IF(A2="","",処理) |
| B2とC2が両方入力されたら計算 | =IF(OR(B2="",C2=""),"",B2*C2) |
| 計算結果が0なら表示しない | =IF(B2*C2=0,"",B2*C2) |
| 入力があれば「完了」と表示 | =IF(A2="","","完了") |
| VLOOKUPで検索値が空白なら表示しない | =IF(A2="","",VLOOKUP(A2,$E$2:$G$100,2,FALSE)) |
| VLOOKUPのエラーも空白にする | =IF(A2="","",IFERROR(VLOOKUP(A2,$E$2:$G$100,2,FALSE),"")) |
| 複数セルが全部入力されたら表示 | =IF(COUNTBLANK(A2:C2)>0,"","提出可") |
この表は、式を暗記するためではなく、選び方を間違えないために使ってください。特に「0を消す式」と「未入力なら計算しない式」は似ていますが、意味が違います。
売上や在庫のように0にも意味がある表では、計算結果が0なら消す式より、入力セルが空白なら消す式を使った方が安全です。逆に、補助計算の見た目だけ整えたいなら、0を空白にする式でも問題ありません。
まとめ

IF関数で空白なら表示しない方法は、基本的に =IF(A2="","",処理) の形で考えます。A2が空白なら "" を返し、入力されている場合だけ計算や文字表示を行う仕組みです。
ゼロを表示しない場合は、計算結果が0かどうかを見る方法と、入力セルが空白かどうかを見る方法があります。実務では、未入力の0と本当の実績ゼロを分けるために、入力セルの空白判定を使う方が安全です。
VLOOKUPと組み合わせるなら、=IF(A2="","",IFERROR(VLOOKUP(...),"")) がよく使われます。ただし、エラーまで空白にすると入力ミスに気づけないことがあるため、必要に応じて「該当なし」や「コード確認」と表示しましょう。
Excelの表は、見た目をきれいにするだけでは不十分です。未入力、ゼロ、エラー、該当なしをどう扱うかで、表の使いやすさが大きく変わります。まずは「どのセルが空白なら表示しないのか」を決めてから式を作ると、迷わず実務で使える表になります。















