フリーランスの見積書請求書#N/A#DIV/0!が出ると、クライアントへの印象が悪化します。IFERRORを使えば1行の追記でエラーを空白やメッセージに変換でき、資料の見た目を即座に整えられます。本記事ではExcel・スプレッドシート共通の基本構文から実務5テクニックまで解説します。

目次

この記事でわかること

IFERRORの2引数構文で既存の数式を包むだけでエラーを消せることがわかります。VLOOKUPの#N/Aや割り算の#DIV/0!など7種類のエラーを1関数でまとめて処理する方法がわかります。提出用シートは空白表示・管理用シートはISERROR確認列という2層設計で、毎月の修正作業をゼロにする方法がわかります。

この記事の結論

IFERRORは=IFERROR(値, エラーの場合の値)という2引数の関数で、既存の数式をそのまま包むだけでエラー表示を消せます。VLOOKUPや割り算など、エラーが出やすい式の外側にかぶせるだけで動作するため、複雑な変更は不要です。フリーランスが使う帳票では「クライアント提出用は空白表示、内部集計用はエラー確認列を別途用意」という2層構造が最も保守しやすい設計です。

今日やるべき1つ

手元の請求書または見積書を開き、#N/A#DIV/0!が出ているセルの数式を=IFERROR(元の数式, “”)で包んで保存します(所要時間:2分)。

状況別ショートカット

状況読むべきセクション所要時間
IFERRORの書き方を今すぐ知りたいIFERRORの基本構文は2引数で完結3分
VLOOKUPのエラーを消したいVLOOKUPのエラーは3パターンで対応5分
空白か0かどちらにすべきか迷っているIFERROR対応を3分でセルフ診断3分
IFやISERRORとの違いを知りたいIFERRORとISERRORは目的で使い分け5分
実務テクニックを5つまとめて知りたいIFERROR実務テクニックは5つの仕組みで解決10分

IFERRORの基本構文は2引数で完結

IFERRORを初めて使うとき、覚えるべき引数は2つだけで、構造はシンプルです。外側からかぶせる形を一度理解すれば、あとは既存の数式に追記するだけで動きます。

構文は外側からかぶせるだけ

=IFERROR(値, エラーの場合の値)がIFERRORの全体構文です。第1引数には既存の数式をそのまま入れ、第2引数にはエラーが発生したときに表示したい内容を指定します(Microsoft サポート: IFERROR関数)。すでに動いている数式に後から追加できるため、既存の表を壊さず修正できます。

たとえば=VLOOKUP(A2,D:E,2,0)というセルがあり、そこに#N/Aが出ているとします。この数式を=IFERROR(VLOOKUP(A2,D:E,2,0),””)に変えるだけで、エラーが空白に変わります。変更点は外側にIFERROR(を追加し、末尾に,””)を付ける2箇所だけです。元の数式に一切手を加える必要がなく、追記で完結します。

なお、ExcelとGoogleスプレッドシートの違いを普段から意識している方は、IFERROR関数の構文が両ツールで共通であることを知っておくと作業がスムーズです。

第2引数の選択肢は3種類

エラー時に何を表示するかは用途によって3つから選びます。空白にしたい場合は“”、0を表示したい場合は0、メッセージを出したい場合は“データなし”“未登録”などの文字列を二重引用符で囲んで指定します(Google ドキュメント エディタ ヘルプ: IFERROR)。Googleスプレッドシートでは第2引数を省略すると自動的に空白が返りますが、Excel互換性を保つために常に明記する習慣をつけてください。

選択の判断基準は「その表を誰が見るか」で決まります。クライアントに提出する帳票では空白が最もすっきりした印象を与えます。社内集計や自己管理用のシートでは、0表示の方が後でSUMやAVERAGEを組んだときに計算結果が狂わないため安全です。エラーを空白にすると、AVERAGE関数でそのセルが計算対象から除外される点を覚えておくと判断しやすくなります。

対象エラーは7種類

IFERRORが処理できるエラーは#N/A#VALUE!#REF!#DIV/0!#NUM!#NAME?#NULL!の7種類です(Microsoft サポート: IFERROR関数)。フリーランス業務でよく出るのは、VLOOKUPで該当データがない場合の#N/Aと、売上達成率などで分母が0になる#DIV/0!の2つです。これら7種類をIFERROR1つで全部処理できるため、エラーの種類ごとに別の対策を講じる必要はありません。原因を特定しなくても表示上は整えられます。

CHECK

▶ 今すぐやること: 手元のシートで最初にエラーが出ているセルを1つ選び、数式バーの先頭にIFERROR(を追加して末尾に,””)を付け加えて確定する(2分)

Q: ExcelとGoogleスプレッドシートで書き方は変わりますか?

A: 構文は同じ=IFERROR(値, エラーの場合の値)で共通です。唯一の違いはGoogleスプレッドシートでは第2引数を省略できる点ですが、Excel互換性を保つために常に明記する習慣をつけてください。

Q: 第2引数に数式を入れることはできますか?

A: できます。=IFERROR(VLOOKUP(A2,D:E,2,0), VLOOKUP(A2,F:G,2,0))のように、エラー時に別の参照先を検索する形で使えます。二段階の検索ロジックを1セルに収められるため、複数テーブルを持つ管理表で有効です。

VLOOKUPのエラーは3パターンで対応

VLOOKUPを使った表でエラーが出るパターンは3つに絞れます。パターンを把握しておくと、次にエラーが出たときの対処が格段に速くなります。

未登録データの#N/Aを空白に変える

VLOOKUPで検索値が一覧に存在しない場合に#N/Aが出ます(Microsoft サポート: IFERROR関数)。顧客管理表で新規顧客の名前がまだ登録されていないとき、見積書の品番が商品マスタに未登録のときがこれに当たります。=IFERROR(VLOOKUP(A2,D:E,2,0),””)で空白にするか、=IFERROR(VLOOKUP(A2,D:E,2,0),”未登録”)で明示的に表示するかは、その行に後から手入力する予定があるかどうかで選びます。手入力予定があれば空白、自動入力のみなら「未登録」の方がデータ漏れを発見しやすくなります。

VLOOKUPで対象が存在しない場合にエラーではなく”Not Found”を返す実務例もあります(Qiita: 実務での関数利用例)。英語環境のツールと連携するシートでは”Not Found”や”N/A”をそのまま使うと後処理がしやすく、日本語の「未登録」より運用上の一貫性が保てます。

また、VLOOKUP別シートを参照する際のエラー対処についても合わせて把握しておくと、より複雑な表でのエラー解消がスムーズになります。

参照範囲ずれの#REF!を先に潰す

VLOOKUPの参照列番号がデータ範囲の列数を超えると#REF!が出ます。たとえば2列のD:E範囲に対して列番号3を指定した場合です。これはIFERRORで隠すのではなく、列番号を修正するのが正しい対処です。IFERRORは表示を整えるための道具であり、数式の論理エラーを修正する道具ではありません。#REF!が出たらまずIFERRORを外した状態で原因を確認し、修正後に改めてIFERRORで包む順序を守ることが保守性の維持につながります。

絶対参照の有無で列全体に展開する

VLOOKUPをIFERRORで包んだ後、そのセルを列全体にコピーするとき、参照範囲に$がないと行ごとにずれて誤動作します。=IFERROR(VLOOKUP(A2,$D$1:$E$100,2,0),””)のように範囲部分を絶対参照にしてから展開します。1セルで動作確認を取り、その後に列全体へコピーするという手順を守ると、意図しない参照ずれによるエラーの再発を防げます。

CHECK

▶ 今すぐやること: VLOOKUPが入っているセルを1つ選び、参照範囲に$が付いているか確認してからIFERROR(,””)で包み、下のセルに5行コピーして全行で正しく動くかテストする(5分)

Q: XLOOKUPでも同じようにIFERRORを使えますか?

A: 使えます。XLOOKUPは見つからない場合の処理を第4引数で内部的に指定できますが、既存のVLOOKUP式との統一感を保つためにIFERRORで外から包む方法も有効です。

Q: VLOOKUPの検索値が空白のときも#N/Aが出ますか?

A: 出ます。検索値が空白セルを参照している場合、VLOOKUPは空白を検索しようとして#N/Aを返します。IFERRORで包んでおけば表示は整いますが、根本的には=IF(A2=””,””,IFERROR(VLOOKUP(A2,D:E,2,0),””))のように検索値が空白のときは計算しない分岐を加えると、空白セルが「未検索なのか未登録なのか」を区別できます。

IFERROR対応を3分でセルフ診断

空白にすればいいと思っていたが実は0の方が適切だった、という判断ミスは起こりがちです。3分で自分の状況に合った設定を選べます。

Q1: エラーが出ているセルは、クライアントなど社外の人が見る帳票に含まれていますか?

Yesの場合はQ2へ進みます。Noの場合はQ3へ進みます。

Q2: そのセルの値は、後で別のセルで合計や平均の計算に使いますか?

Yesの場合はResult B(0表示を使い、計算への影響を避ける)、Noの場合はResult A(空白表示でクライアントへの見た目を優先する)です。

Q3: そのセルにエラーが出ている原因を後で調査する必要がありますか?

Yesの場合はResult C(IFERRORを使わず、エラーを確認用列として残す)、Noの場合はResult D(空白表示にして整理する)です。

Result A: =IFERROR(元の数式,””) を使います。クライアント提出用で計算に使わないセルは空白が最適です。印刷プレビューで確認してから納品してください。

Result B: =IFERROR(元の数式,0) を使います。SUM・AVERAGE・COUNTなどの集計に含まれるセルは0の方が安全です。ただし0が表示されることでクライアントが誤解しないか確認してください。

Result C: IFERRORを使わず、エラーセルの隣に =ISERROR(問題のセル) を置いて確認列を作ります。TRUEが出ている行をフィルタして原因を特定します。原因が解消したらIFERRORを追加します。

Result D: =IFERROR(元の数式,””) を使い、内部シートの視認性を上げます。内部用であっても、古いエラーが残ると月次集計のミスにつながります。定期的に元数式の正確性も確認してください。

個人事業主の見積書の書き方では、送付前チェックの重要性が解説されています。IFERROR設定後も、提出前に必ず数値の正確性を確認する習慣をつけることが大切です。

CHECK

▶ 今すぐやること: エラーが出ているセルを1つ選び、上のQ1から順番に答えて自分のResultを確認し、該当するIFERROR式に書き換える(3分)

Q: 空白表示にするとSUM関数の結果は変わりますか?

A: SUMは空白セルを無視して計算するため、合計値には影響しません。ただしAVERAGEは空白セルを分母から除外するため、エラーが多い表では平均値が実態より高く出る場合があります。用途に応じてResultAかResultBを使い分けてください。

Q: エラーを空白にすると印刷時にどう見えますか?

A: 空白セルは印刷時に何も表示されず、罫線だけが残ります。クライアント提出用の帳票ではこの状態が最も自然に見えます。0を表示するよりも誤解を招きにくいです。

IFERRORとISERRORは目的で使い分け

IFERRORと似た関数がいくつかありますが、それぞれの役割は明確に異なります。使い分けの基準を押さえておくと、特殊なケースに遭遇したときにも迷わず対処できます。

IFERRORとIF+ISERRORの違い

IFERROR以前は、エラー処理を=IF(ISERROR(VLOOKUP(A2,D:E,2,0)),””,VLOOKUP(A2,D:E,2,0))という形で書いていました。この書き方ではVLOOKUPを2回記述する必要があり、数式が長くなる上に修正時に両方を変える手間が発生します。IFERRORを使えば=IFERROR(VLOOKUP(A2,D:E,2,0),””)と1回の記述で完結します。メンテナンスコストが半分以下になるため、新規作成の式では必ずIFERRORを使う方が合理的です。

ISNAは#N/Aだけに絞りたいときに使う

ISNAは#N/Aエラーのみを検出する関数です。IFERRORは7種類すべてのエラーを同じ処理で置き換えるため、「#N/Aだけを空白にして、#VALUE!はエラーのまま残したい」というケースには使えません。そのような場合は=IF(ISNA(VLOOKUP(A2,D:E,2,0)),””,VLOOKUP(A2,D:E,2,0))という形でISNAを使います。フリーランス業務での利用では、エラー種類を絞る必要があるケースはまれです。通常はIFERRORが7種類まとめて処理してくれる方が管理が楽です。

Excel関数の使い分けで迷うユーザーの声も多く見られます(Yahoo!知恵袋: Excel関数の使い方相談)。IFERRORを基本として覚えておき、特殊なエラー分岐が必要になったときにISNAやISERRORを検討する順序が実務では効率的です。

COUNTIF複数条件の使い方のように関数を組み合わせて使う場面では、IFERRORで包むことで表の見た目を常にクリーンに保てます。

IFERRORのネストは1段が上限

=IFERROR(IFERROR(数式1,数式2),数式3)というように二重にネストすることは技術的には可能です。しかし2段以上になると式の意図が読み取りにくく、1年後に自分が見返したときに修正できなくなるリスクがあります。ネストが必要になった場合はそもそもの数式設計を見直す方が保守性が高くなります。複数の参照先を持つ場合はXLOOKUPの第4引数を活用するか、補助列を1列追加して処理を分割する方法をおすすめします。

CHECK

▶ 今すぐやること: 今使っているシートでISERROR+IFの組み合わせが残っていれば、その1つをIFERRORに書き換えて動作確認する(3分)

Q: IFERRORとIFERROR以外のエラー処理関数はどう選べばいいですか?

A: まずIFERRORを試してください。「特定のエラー種類だけを処理したい」ときはISNA(#N/A専用)かISERROR(全エラー検出)をIF関数と組み合わせます。新しい関数を覚えるより、IFERRORで解決できる場面を先に把握する方が習得が早くなります。

Q: Googleスプレッドシートでも同じ関数名で使えますか?

A: 使えます。IFERRORはExcel・Googleスプレッドシートの両方で同じ構文が動作します(Google ドキュメント エディタ ヘルプ: IFERROR)。スプレッドシートでは第2引数の省略が許可されていますが、Excelとの互換性を確保するために常に明記する習慣をつけておくと、ファイルを渡した相手が別のツールで開いたときのトラブルを防げます。

IFERROR実務テクニックは5つの仕組みで解決

「エラーを消す」だけで終わらせず、実務の帳票品質を上げる5つのテクニックを紹介します。書き換え作業は全部で30分以内に終わります。

テクニック①: 提出用シートは空白、管理用シートはエラー確認列で30分の調査コストを削減

【対象】: クライアント提出用と内部管理用のシートを同じファイルで持つフリーランス

【手順】: 提出用シートのエラーセルをすべて選択し、数式に=IFERROR(元の数式,””)を適用します(10分)。次に管理用シートに「確認列」を1列追加し、=ISERROR(提出用シートの対応セル)を入れます(5分)。確認列でTRUEが出ている行をフィルタして月次確認をルーティン化します(5分)。

【ポイントと理由】: 「全セルにIFERRORを入れれば完了」という発想では、「エラーが隠れたまま誤ったデータが蓄積される」方が損失が大きくなります。確認列を別途持つ設計にすることで、提出物の見た目を整えながら原因特定の手間を月次30分以内に抑えられます。

【注意点】: 確認列を作らずに全セルIFERRORだけで運用すると、数式のミスが数ヶ月気づかれないまま請求漏れや集計エラーにつながります。確認列を作る手間は省かないでください。

テクニック②: 割り算セルは`#DIV/0!

`対策で達成率表の印象を改善

【対象】: 月次売上達成率や稼働率をExcelで管理しているフリーランス

【手順】: 達成率の数式=実績/目標を特定します(1分)。=IFERROR(実績/目標,”-“)に書き換え、目標が未設定のセルにを表示します(2分)。印刷プレビューでが整然と並んでいるかを確認してから保存します(2分)。

【ポイントと理由】: =IF(B2=0,”-“,A2/B2)と書くより=IFERROR(A2/B2,”-“)の方が記述が短く、後から見て意図が明快です。を使う理由は、0と見間違えるリスクがなく「データ未設定」の意味が視覚的に伝わるからです。

【注意点】: エラー時に0を指定すると、達成率が本当に0%のデータと区別できなくなります。0を使うのは計算式の途中にある数値セルに限定し、表示用の比率セルには“-““”を使う方が誤読を防げます。

テクニック③: 請求書の品番検索は「未登録」表示で確認漏れをゼロにする

【対象】: 商品マスタ参照型の請求書・見積書を使うフリーランス

【手順】: 請求書の商品名を返すVLOOKUP式を確認します(1分)。=IFERROR(VLOOKUP(A2,$H$1:$I$100,2,0),”未登録”)に書き換えます(3分)。「未登録」と表示されたセルを請求前に必ず確認するルールをシートのコメント欄に残します(2分)。

【ポイントと理由】: 空白表示で見た目を整える方法では、「データがないのか、検索に失敗したのか」が区別できず、請求書の送付前チェックで見落とすリスクがあります。「未登録」と明示することで、送付前の確認作業を自動的に促せます。

金額間違いお詫びメールの対応に至らないよう、請求書の送付前チェックをIFERRORで仕組み化することが重要です。

【注意点】: 提出直前にIFERRORを“”に変えて提出し、マスタ修正後に「未登録」バージョンに戻すという運用は混乱の原因になります。提出用と確認用でシートを分ける方がシンプルです。

テクニック④: 複数テーブル参照では補助列方式でIFERRORのネストを回避

【対象】: 2つ以上のマスタテーブルを順番に検索したいフリーランス

【手順】: メインマスタ用の列Aに=IFERROR(VLOOKUP(A2,$H$1:$I$100,2,0),””)を入れます(3分)。サブマスタ用の列Bに=IFERROR(VLOOKUP(A2,$K$1:$L$50,2,0),””)を入れます(3分)。結果列に=IF(A列<>””,A列,B列)を入れ、どちらか先にヒットした結果を表示します(3分)。

【ポイントと理由】: 二重ネストで書くと1段ネストでも式が長くなり、修正時に引数の対応関係を見失います。補助列で分けることで、各ステップが独立した式として読め、後から検索先テーブルを追加するときも3列目の補助列を追加するだけで済みます。

【注意点】: 「書けること」と「保守できること」は別物です。作った本人だけが理解できる式は、業務委託のシートでは特に問題になります。ネストを重ねる方向に進もうとしたときは、補助列方式に切り替えてください。

テクニック⑤: テンプレートシートにIFERRORを最初から組み込み毎回の修正作業をゼロにする

【対象】: 毎月使い回す請求書・見積書テンプレートを持つフリーランス

【手順】: テンプレートの全VLOOKUP式・割り算式を洗い出してリストアップします(10分)。リストに基づき、全対象セルにIFERRORを適用します(15分)。テンプレートとして保存し、翌月からコピーして使う運用に切り替えます(2分)。

【ポイントと理由】: 毎回使う前にエラー処理を追加する作業を繰り返すより、テンプレートに最初から組み込めば毎月の追加作業が発生しません。テンプレート化に必要な初期投資は約30分で、以降はゼロになります。売掛金管理エクセルの自動化と同様、一度仕組みを整えることで毎月の作業負担を大幅に削減できます。

【注意点】: テンプレートにIFERRORを入れた後、数式の参照先が正しいかを毎月確認しないと、マスタの列が変わったときにエラーが隠れたまま誤データが出続けます。テンプレートを更新したときは必ずダミーデータで動作確認してください。毎月同じファイルを上書き保存で使い回す運用は避けてください。

CHECK

▶ 今すぐやること: 手元のテンプレートファイルを開き、VLOOKUPが入っているセルを全選択してIFERRORで包む作業を今日中に完了させる(30分)

Q: IFERRORを使うと数式の処理速度が遅くなりますか?

A: 通常の帳票規模では体感できる遅延は発生しません。数万行を超える大量データを扱う場合は、IFERRORより事前にIF関数で分岐させる方が計算コストを抑えられます。フリーランスが使う100〜500行程度の帳票では気にする必要はありません。

Q: IFERRORを入れた後にエラーが出なくなったが、本当に計算は合っているか不安です

A: IFERRORは表示を整えるだけで、計算の正確性は保証しません。1ヶ月分のデータで手計算と照合し、合計値が一致しているかを確認する作業を初回の導入直後に必ず実施してください。

IFERRORは2引数で帳票を即整備

IFERRORは=IFERROR(元の数式, “”)の形でエラー表示を瞬時に整えられる、フリーランスの帳票管理に欠かせない関数です。覚えるべき引数は2つで、既存の数式に外側からかぶせるだけで動作するため、今日中に適用できます。提出用シートは空白表示、内部管理シートにはISERROR確認列を残す2層設計が最も保守しやすく、エラーを隠しながらも品質を維持できます。

今すぐ手元のテンプレートを開いてIFERRORを1箇所適用し、今月の請求書から資料の見た目を整えてください。最初の1セルを変えるだけで、毎回エラーを手直しする作業から解放されます。

状況次の一歩所要時間
今すぐエラーを消したい対象セルに=IFERROR(元の数式,””)を入力する2分
VLOOKUPエラーを処理したい参照範囲を絶対参照にしてからIFERRORで包む5分
テンプレートに組み込みたい全VLOOKUP・割り算セルをリストアップして一括適用30分
空白か0か判断に迷う診断フローのQ1から答えてResultを確認する3分

IFERROR使い方に関するよくある質問

Q: IFERRORは何のエラーに対応していますか?

A: #N/A#VALUE!#REF!#DIV/0!#NUM!#NAME?#NULL!の7種類に対応しています(Microsoft サポート: IFERROR関数)。この7種類すべてを一度に処理できるため、エラーの種類を個別に判定する必要がありません。

Q: IFERRORで空白にするとSUMの結果は変わりますか?

A: SUM関数は空白セルを無視するため合計値には影響しません。ただしAVERAGE関数は空白セルを分母から除外するため、エラーが多い表では平均値が実態より高く算出されることがあります。集計に使うセルには空白ではなく0を返す設定を検討してください。

Q: IFERRORをVLOOKUP以外の関数で使う場面はありますか?

A: あります。割り算(=A1/B1)でゼロ除算が起きる場合、MATCH関数で検索値が見つからない場合、INDEX+MATCH組み合わせでの参照エラーが代表的な使用場面です。「エラーが出る可能性のある数式」のすべてに適用できます(Google ドキュメント エディタ ヘルプ: IFERROR)。

【出典・参照元】

Microsoft サポート: IFERROR関数 – 構文・対象エラー種類の公式説明

Google ドキュメント エディタ ヘルプ: IFERROR – Googleスプレッドシートでの引数省略仕様

Qiita: 実務での関数利用例 – VLOOKUPエラー処理の実務例

Yahoo!知恵袋: Excel関数の使い方相談 – 関数使い分けに関する実務者の声