目的別
エラーを扱う
エラーを扱うとき、使える関数は複数あります。どれを選ぶかは、やりたいことの条件で決まります。
先に決めること。 エラーを隠したいのか、原因を追いたいのか。ここが決まれば、関数は1つに絞れます。
記載内容は 2026年8月時点のものです。ExcelとGoogleスプレッドシートで使える関数が違う場合があります。

このページの中身(26項目)
場面別・使う関数の早見
原因を追う段階では IFERROR を外してください。隠したまま進めると、間違った値のまま気づけません。
表の使い方
左の列で自分のやりたいことを探し、右の関数の記事に進んでください。複数に当てはまる場合は、条件が多いほうを選んでください。条件が少ない関数で書くと、後から条件を足せません。
1. エラーを隠す
使うのは IFERROR です。
エラーを隠すという条件に、最も素直に対応する関数です。
つまずきやすいところ
範囲の行数が揃っているか、参照を固定したか。この2つで、結果がずれる原因の大半が説明できます。
この場面で確認すること
参照する範囲に、集計対象外の行が混ざっていないかを確認してください。

2. エラーか判定
使うのは ISERROR です。
=ISERROR(値)
エラーかどうかを判定する関数です。計算がエラーになるかを判定する場面で使います。
つまずきやすいところ
IFERROR で書ける場面がほとんどです。二度計算するぶん重くなります。
この場面で確認すること
参照する範囲に、集計対象外の行が混ざっていないかを確認してください。
3. 該当なしのみ
使うのは IFNA です。
=IFNA(値, 代替値)
#N/A のときだけ代わりの値を返す関数です。見つからない場合の表示を決める場面で使います。
つまずきやすいところ
IFERROR と違い、他のエラーは隠しません。原因の切り分けに向いています。
この場面で確認すること
参照する範囲に、集計対象外の行が混ざっていないかを確認してください。
4. 空欄か判定
使うのは ISBLANK です。
空欄か判定という条件に、最も素直に対応する関数です。
つまずきやすいところ
範囲の行数が揃っているか、参照を固定したか。この2つで、結果がずれる原因の大半が説明できます。
この場面で確認すること
参照する範囲に、集計対象外の行が混ざっていないかを確認してください。
5. 型を確認
使うのは ISNUMBER です。
=ISNUMBER(値)
数値かどうかを判定する関数です。数値として入っているかを確認する場面で使います。
つまずきやすいところ
見た目が数字でも文字列なら FALSE になります。集計が合わない原因の特定に使えます。
この場面で確認すること
参照する範囲に、集計対象外の行が混ざっていないかを確認してください。
6. 件数を数える
使うのは SUMPRODUCT です。
件数を数えるという条件に、最も素直に対応する関数です。
つまずきやすいところ
範囲の行数が揃っているか、参照を固定したか。この2つで、結果がずれる原因の大半が説明できます。
この場面で確認すること
参照する範囲に、集計対象外の行が混ざっていないかを確認してください。
選び方の順番
エラーを隠したいのか、原因を追いたいのか。この一点が決まらないまま関数を探すと、どれも当てはまるように見えて決まりません。
1. 出したい結果を一文で書く
「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。
2. 条件の数を数える
条件が1つか、複数か。ここで使える関数が分かれます。将来増える可能性があるなら、最初から複数条件に対応する形にしてください。
3. 返したい値の形を決める
1つの値か、複数行か。複数行を返す関数は、展開先を空けておく必要があります。
4. 共有先の環境を確認する
新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。
5. 短く書けるほうを選ぶ
同じ結果を出せる関数が複数あるなら、短いほうにしてください。後から読むときの負担が違います。
この記事で使っている言葉
先に言葉の定義を揃えておきます。
引数
関数の括弧の中に渡す値のことです。IFERRORでは =IFERROR(...) の括弧内が引数にあたります。順番に意味があるため、位置を入れ替えると結果が変わります。
範囲
A2:A100 のように、複数のセルをまとめて指定したものです。行数が揃っていないと、複数の範囲を渡す関数では結果が狂います。
絶対参照と相対参照
絶対参照は $A$2 の形です。コピーしても参照先が変わりません。A2 は相対参照で、コピーした方向に応じてずれます。この使い分けが、結果がずれる原因の大半を占めます。
配列
1つの数式が複数の値を返す形です。返した先のセルが埋まっていると展開できず、エラーになります。
揮発性
関係のない編集でも再計算される性質です。NOW TODAY INDIRECT OFFSET が該当します。多用するとファイル全体が重くなります。
値として貼り付ける
数式ではなく計算結果だけを残す操作です。参照元を消しても壊れなくなり、再計算の対象からも外れます。
作業列
途中の計算結果を置くための列です。長い数式を1つ書くより、短い数式を分けて置くほうが間違いを見つけやすくなります。完成後に非表示にすれば、見た目は変わりません。
IFERRORの応用
基本形で足りない場面のための書き方です。
さらに複雑にする前に
入れ子が3段を超えたら、作業列に分けてください。1つの数式にまとめることに価値はありません。後から読める形のほうが、結果的に速く終わります。
応用が必要かどうかの判断
他の人が触る表では、短い数式を並べるほうが保守できます。
実際にあった相談と、その原因
相談の内容から、どこを見るべきかを判断する例です。
「昨日まで動いていた数式が壊れた」
参照先の表で、列が挿入されたか削除されたかのどちらかです。列番号を数字で書いている数式は、参照先の構造が変わると意味が変わります。一時的な対処と恒久対処を分けてください。後者は位置に依存しない書き方です。
「合計が1円合わない」
丸めの位置が揃っていません。表示形式で小数を隠しても、値そのものは丸められません。行ごとに丸めるのか、合計してから丸めるのかで結果が変わります。各行で丸めるか、合計してから丸めるかで結果が変わります。
「一部の行だけ結果がおかしい」
その行のデータだけ型が違うか、余分な空白が入っています。型と文字数を出して、正しく動く行との差を探してください。
「下にコピーすると値が変わる」
参照を固定していません。動いてはいけない範囲に $ を付けてください。上の数行は正しく動くため、気づくのが遅れます。
「共有したら相手の画面でエラーになる」
IFERRORや組み合わせている関数が、相手の環境で使えません。#NAME? が出ている場合はこれです。対応範囲の広い書き方に変えるか、値として渡してください。
「重くて開けない」
列全体の指定と、揮発性の関数が原因のことがほとんどです。範囲を区切り、確定した期間は値に変換してください。
数式を使わないという選択
IFERRORを使う前に、別の手段で足りないかを確認してください。
ピボットテーブルで足りる場合
集計の軸が決まっているなら、集計機能のほうが速く、保守も簡単です。数式で組む理由がないか、一度確認してください。
フィルタで足りる場合
一時的に絞り込んで見るだけなら、フィルタ機能で十分です。ただし共有中のファイルでは、他の人の表示にも影響します。そこが問題になる場合だけ、関数で抽出してください。
条件付き書式で足りる場合
色を付けたいだけなら、列を増やす必要はありません。ただし範囲が広いほど負荷になるため、必要な範囲に絞ってください。
入力規則で防げる場合
誤りを後から探すより、入力の段階で防ぐほうが手間がかかりません。選択肢を決められる項目は、プルダウンにしてください。
手作業のほうが早い場合
一回限りで件数も少ないなら、手作業のほうが早く終わります。繰り返す作業かどうかで判断してください。
それでも数式を使う理由
元データが更新される表では、数式が最も確実です。手作業は、更新のたびに同じ手間がかかり、抜けも起きます。
よく組む形をそのまま貼る
IFERRORは単体より、組み合わせた形で使うことがほとんどです。
空欄なら計算しない
=IF($A2="", "", IFERROR(...))
未入力の行に0やエラーが並ぶのを防ぎます。集計表では必ず入れてください。
エラーを空欄にする
=IFERROR(IFERROR(...), "")
配布用の表を整える段階で使います。原因を追っている間は外してください。
エラーに文言を出す
=IFERROR(IFERROR(...), "要確認")
空欄より実務では役に立ちます。後からフィルタで抽出できるためです。
条件で使い分ける
=IF($B2="対象", IFERROR(...), 0)
対象外の行を0にする形です。合計に含めたくない行がある場合に使います。
ISERROR と組み合わせる
=ISERROR(IFERROR(...))
内側から評価されます。3段以上の入れ子になったら作業列に分けてください。
結果を丸める
=ROUND(IFERROR(...), 0)
小数の誤差を残したまま集計すると、合計が1円ずれます。丸める位置を決めてください。
貼るときの注意
... の部分は、この記事の実例から自分の表に合う形を選んで置き換えてください。参照を固定するかどうかは、コピーする方向で決まります。下方向なら行、右方向なら列を固定するかを先に判断してください。
IFERRORを身につける順序
全部を理解してから使おうとすると、いつまでも使えません。
まず、基本形1つだけ
=IFERROR(...)
エラーを隠す形です。まずこれだけを覚えてください。実務で使う場面の大半はこの形で足ります。
次に、参照の固定
コピーでずれてよい参照と、ずれてはいけない参照を分けて考えます。ここを理解すると、コピーで結果が狂うことがなくなります。
次に、エラーの扱い
=IFERROR(IFERROR(...),"") の形です。配布する表では必要になります。ただし原因を追う段階では外してください。
次に、組み合わせ
ISERROR など、目的の近い関数と組み合わせる形です。ここまで来ると、たいていの要望に応えられます。
最後に、代替手段
IFERROR以外の書き方も知っておくと、環境が変わったときに困りません。共有先で使えない関数があるとき、代わりの書き方を出せるようになります。
覚えなくてよいこと
すべての引数を暗記する必要はありません。書き始めれば候補が出ます。覚えるべきなのは、何ができる関数かという一点だけです。
IFERRORと似た関数の違い
似た関数との差は、実際に使う場面で決まります。
IFERROR と ISERROR
IFERRORはエラーを扱う関数です。ISERRORとは、扱えるデータの形か、返す値の種類が違います。
将来条件が増える可能性があるなら、拡張できるほうを選んでください。
IFERROR と IFNA
IFERRORはエラーを扱う関数です。IFNAとは、扱えるデータの形か、返す値の種類が違います。
将来条件が増える可能性があるなら、拡張できるほうを選んでください。
IFERROR と ISBLANK
IFERRORはエラーを扱う関数です。ISBLANKとは、扱えるデータの形か、返す値の種類が違います。
将来条件が増える可能性があるなら、拡張できるほうを選んでください。
判断の基準
- 出したい結果を一文で書く
- 条件の数を数える
- 返したい値が1つか複数かを決める
- 共有先の環境を確認する
- 短く書けるほうを選ぶ
この順で考えれば、関数は1つに絞れます。一覧から選ぼうとすると、どれも使えそうに見えて決まりません。
数式の前に、データを整える
数式が正しくても、データが揃っていなければ結果は合いません。
型を揃える
=ISNUMBER(A2)
数値として入っているかを判定します。見た目が数字でも文字列なら FALSE になります。システムから書き出したデータでは、これが原因のことが多くあります。
前後の空白を落とす
=TRIM(A2)
前後の空白と、語間の連続した空白を1つに詰めます。見た目では判別できないため、検索や集計が合わない原因になります。
全角と半角を揃える
=ASC(A2)
全角の英数字と記号を半角にします。逆方向は JIS です。手入力が混じる列では、この差が原因になりがちです。
改行を取り除く
=SUBSTITUTE(A2,CHAR(10),"")
セル内改行はコピー時に紛れ込みます。CHAR(10) が改行文字です。
文字数を比べて確認する
=LEN(A2)&" / "&LEN(B2)
見た目が同じなのに一致しないとき、まずこれを見ます。数が違えば、空白か不可視文字が入っています。
掃除は作業列にまとめる
数式の中に掃除を書き込むと、長くなって読めなくなります。掃除済みの値を作業列に出し、そこを参照する形にしてください。元データを直接書き換えないので、後から検証できます。
エラーが出たときの読み方
表示されている記号によって、見るべき場所が変わります。
| 記号 | 意味 | 最初に見るところ |
|---|---|---|
#N/A | 検索した値が見つからない | 前後の空白、全角半角、型のずれ。この3つを順に確認してください |
#REF! | 参照先が消えている | 参照していた行や列を削除していないかを確認してください |
#VALUE! | 引数の型が合っていない | 数値を渡すべきところに文字列が入っていないかを確認してください |
#DIV/0! | 0で割っている | 割る側が0または空欄になっていないかを確認してください |
#NAME? | 関数名が認識されていない | 綴りの誤りか、その環境で使えない関数かを確認してください |
#NUM! | 数値として扱えない | 指定した順位や桁数が範囲を超えていないかを確認してください |
#N/A が出た場合
検索した値が見つからない状態です。前後の空白、全角半角、型のずれ。この3つを順に確認してください。
同じ数式でも、参照先が変わればこのエラーは出ます。
#REF! が出た場合
参照先が消えている状態です。参照していた行や列を削除していないかを確認してください。
同じ数式でも、参照先が変わればこのエラーは出ます。
#VALUE! が出た場合
引数の型が合っていない状態です。数値を渡すべきところに文字列が入っていないかを確認してください。
同じ数式でも、参照先が変わればこのエラーは出ます。
#DIV/0! が出た場合
0で割っている状態です。割る側が0または空欄になっていないかを確認してください。
同じ数式でも、参照先が変わればこのエラーは出ます。
エラーを隠すべきかどうか
IFERROR で包めば表示は消えますが、原因も見えなくなります。原因を追っている段階では外してください。配布用の表に仕上げる段階になってから包むのが正しい順序です。
ExcelとGoogleスプレッドシートの違い
IFERROR自体は共通ですが、組み合わせる関数に差が出ることがあります。
使える関数が違う
FILTER UNIQUE SORT などは、Excelでは比較的新しい機能です。古い環境で開くと #NAME? になります。社外に渡すファイルでは、この点だけで使う関数が変わります。
配列の扱いが違う
Googleスプレッドシート側は ARRAYFORMULA で範囲全体に適用する書き方をします。Excelでは自動的に広がる仕様になっています。同じ結果を出す書き方が違うため、そのまま移すと動きません。
引数の区切りが違うことがある
地域の設定によって、区切りがカンマではなくセミコロンになる環境があります。コピーした数式が動かない場合、ここを疑ってください。
日付の基準が違う
日付の内部表現は同じでも、基準となる日がずれている場合があります。ファイルをまたいで日付を計算するときは注意してください。
どちらで作るか
共有先が決まっていないなら、対応範囲の広い書き方を選んでください。後から書き換えるより、最初から限定するほうが手戻りが少なくなります。
数が増えて重くなったとき
重くなる原因は限られています。上から順に確認してください。
範囲を列全体で指定しない
A:A は書くのが楽ですが、空行まで対象に含めます。$A$2:$A$5000 のように行を区切ってください。行数が多いほど差が出ます。
同じ計算を繰り返さない
同じ引数でIFERRORを何度も書いているなら、作業列に一度だけ出して、他はその列を参照させてください。
揮発性の関数を減らす
無関係なセルを触っただけで再計算が走る関数があります。NOW TODAY INDIRECT OFFSET です。多用すると、ファイル全体が重くなります。
確定した部分は値にする
締めた期間の集計は、値貼り付けにしてください。数式が残っている限り、再計算の対象になり続けます。
条件付き書式を減らす
数式を使った条件付き書式は、範囲が広いほど負荷になります。必要な範囲だけに絞ってください。
引き継ぐときに書いておくこと
数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。
何を出している数式か
IFERRORでエラーを扱うという意図を、一行で書いてください。読めば分かると思っても、数か月後の自分には分かりません。
どの表を参照しているか
参照先のシート名と、その表の更新担当。参照先が別ファイルなら、その場所も書いてください。
該当しないときの扱い
空欄なのか、文言なのか、エラーのままなのか。書いていないと、受け取った側は空欄をデータなしと読みます。
触ってはいけない場所
範囲の行数が揃っているか、参照を固定したかで結果が変わります。この点を書いておかないと、引き継いだ人が同じところでつまずきます。
使った関数の対応環境
新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、必ず明記してください。
よくある間違い
同じ間違いが繰り返し起きています。先に知っておくと避けられます。
参照を固定していない
下方向にコピーしたときに、動いてはいけない範囲までずれます。上の数行は正しく動くため、気づくのが遅れます。表の最終行まで確認してください。
型が揃っていない
画面上は同じに見えても、数値と文字列は一致しません。=ISNUMBER(A2) で確認できます。システムから書き出したデータでは、これが原因のことが多くあります。
空欄と0を区別していない
未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから数式を書いてください。
範囲の行数が揃っていない
複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。
結果を検算していない
範囲の行数が揃っているか、参照を固定したかで結果が変わります。別の方法で同じ数字を出して、突き合わせてください。
数式が長くなりすぎている
入れ子が3段を超えると、書いた本人でも読めなくなります。作業列に分けてください。完成後に非表示にすれば見た目は変わりません。
書いたあとの確認
IFERRORを新しく書いたら、次を順に確認してください。数分で終わります。
参照を固定したか
下にコピーする式では、固定すべき参照に $ が付いているかを見ます。上の数行だけ見て判断しないでください。範囲のずれは下のほうで表面化します。
一番下の行まで正しいか
最終行までスクロールして、結果を確認してください。途中から値が変わっていないかを見ます。
別の方法で検算したか
同じ数字を別の関数でも出して、突き合わせてください。IFERRORの結果だけを見ても、正しいかどうかは判断できません。
空欄とゼロを区別したか
未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。
エラーの扱いを決めたか
隠すのか、残すのか。用途に合っているかを確認してください。
他の人が読めるか
入れ子が3段を超えていないか。超えているなら、作業列に分けることを検討してください。
数式の読み解き方
長い式に出会ったときの読み方を整理します。
内側から読む
入れ子になった数式は、いちばん内側の括弧から評価されます。外側から読もうとすると、途中で分からなくなります。
引数の区切りで分ける
カンマで区切られた単位が引数です。括弧の対応を見ながら、どこまでが1つの引数かを確認してください。
一部だけを別セルで試す
長い数式の一部を切り出して、別のセルに貼って結果を見てください。どこまでが正しく動いているかが分かります。
この記事の例で確認する
=IFERROR(...)
エラーを隠す形です。内側から順に、何が返っているかを確認してください。一度分解して読めば、似た形の数式はすべて読めるようになります。
分からない部分は残しておく
全部を理解してから触ろうとすると、いつまでも進みません。変える必要のある部分だけを特定して、そこだけ直してください。触っていない部分は、動いている限り放っておいて構いません。
実務で使う場面
どんなときにIFERRORが要るのかを、作業の側から整理します。
集計表を作るとき
元データから数字を出す段階で使います。エラーを隠すのが典型的な形です。この段階で型を揃えておかないと、後の集計が全部ずれます。
他人に渡す表を整えるとき
見た目を整える段階です。桁や表記を揃えると、読み手が数字を比較できるようになります。渡す前に、意図しない値が混ざっていないかを確認してください。
元データを掃除するとき
システムから書き出したデータには、余分な空白や型のずれが混ざります。掃除用の作業列を1つ作り、そこを参照する形にすると保守しやすくなります。
定期的に更新する表を作るとき
毎月同じ作業を繰り返すなら、数式を組んでおけば範囲を広げるだけで済みます。手作業を残すと、そこが毎回の負担になります。
数字が合わない原因を探すとき
検算に使えます。IFERRORで出した値と、別の方法で出した値を突き合わせると、どこでずれているかが分かります。
IFERRORについてよくある質問
Q. IFERRORが使えません
その環境で対応していない可能性があります。#NAME? が出ている場合は、綴りの誤りか、環境が未対応かのどちらかです。
Q. 結果が0になります
参照先が空欄か、数値として認識されていない可能性があります。ISNUMBER で型を確認してください。
Q. 下にコピーすると結果が変わります
参照を固定していません。動いてはいけない部分に $ を付けてください。
Q. エラーを消したいのですが
=IFERROR(IFERROR(...),"") で包めます。ただし原因を追っている段階では外してください。
Q. IFERRORとISERRORはどちらを使うべきですか
やりたいことで決まります。出したい結果を一文で書いてから選んでください。
Q. Excelでも同じように使えますか
関数自体は使えますが、組み合わせる関数に差があります。共有先の環境を先に確認してください。
Q. 重くて開けません
列全体の指定をやめ、確定した期間は値に変換してください。この2つで大半が改善します。
Q. 引数を省略できますか
省略できる引数と、できない引数があります。省略すると既定の動作になり、意図と違う結果になることがあります。
Q. 計算結果を固定したいのですが
値として貼り付けてください。参照元を消しても壊れなくなります。
Q. 他の関数も見たいのですが
→ 全関数の一覧 から探せます。
この分野の他の記事
同じ「目的別」の記事です。目的が近いので、こちらで解決しない場合はこちらも見てください。