IFERRORを複数条件で使う方法!3つ以上の判定もわかる
この記事でわかること(結論と完成形)
IFERRORで「うまくいかなかったら次へ」をつなぐと、複数の候補を順番に試せます。
この仕組みを使うと、表が複数に分かれていても「探す順番」を式で決められます。
この記事では「条件を増やす話」と「候補を増やす話」を分けて整理します。
ここが混ざると、式が長くなるほど何をしているのか分からなくなります。
最初に、完成形のイメージを1つだけ見せます。
このあとで、2候補から3候補、さらに増やすときの増築ルールを説明します。
完成形のイメージ(候補を3つ試す)
次のようにIFERRORを重ねると、1つ目がダメなら2つ目、さらにダメなら3つ目を返せます。
この形は、検索関数だけでなく計算式の候補を切り替えるときにも使えます。
まずは形を覚えて、あとで中身を自分の式に差し替えるのが早道です。
式を作るときは、最初に候補を小さな範囲で試してから全体に広げると失敗が減ります。
例(候補が3つのとき):
=IFERROR(候補1,IFERROR(候補2,候補3))
この式は「候補1がエラーなら候補2へ、候補2もエラーなら候補3へ」という順番です。
順番はそのまま優先順位なので、どれを最優先にしたいかを先に決めると迷いません。
IFERRORは「失敗したら次へ」を作れる
IFERROR(値,エラー時の値)は、値がエラーになったときだけ右側を返します。
エラーとは、#N/Aや#VALUE!などの状態です。
一方で、0や空欄はエラーではないので、IFERRORでは拾えない点に注意します。
「見つからないときは別の表を探したい」という場面で強い味方になります。
作りたての段階では、あえてIFERRORを外してエラー内容を見た方が原因特定が早いこともあります。
「増やす対象」を分けて考える(条件/候補)
「複数条件」という言い方は、人によって意味が2通りに分かれます。
1つ目は、条件判定が増えるケースです。
2つ目は、試したい式の候補や検索先が増えるケースです。
この記事では、前者を「条件を増やす」、後者を「候補を増やす」と呼びます。
この区別ができると、式が急に読みやすくなります。
条件はIFやIFSで分岐として整理し、候補はIFERRORで順番に試す、と役割を分けるのがコツです。
IFERRORで“候補を増やす”基本(2段→3段→N段)
候補を増やすときは、IFERRORをネストして「だめなら次」を作るのが基本です。
この考え方は、うまくいくまで候補を順番に試す「リレー」のイメージです。
先に試す候補ほど優先順位が高い、と決めておくと設計がぶれません。
ただし、増やし方にルールを決めないとカッコが崩れて読めなくなります。
長くなった式は、ミスがあっても見つけにくくなる点が一番の落とし穴です。
ここでは、2候補から始めて、3つ以上へ増やす手順をまとめます。
最初は「候補が増えても同じ形で足せる」ことだけを押さえると楽です。
2候補のテンプレ(まずはこれだけ)
最小構成は、次の形です。
=IFERROR(候補1,候補2)
候補1がうまくいけば候補1の結果が返ります。
候補1がエラーなら、候補2の結果が返ります。
つまり、候補1が成功する限り候補2は実行されません。
この性質を利用して、上から順に「優先したい候補」を並べます。
「候補2も失敗する可能性がある」なら、候補2の側をIFERRORにします。
候補を作るときは、同じ形式の結果が返るようにそろえると後で困りません。
3つ以上に増やす増築ルール(カッコの考え方)
候補を増やすときは、右側にIFERRORを足していきます。
増やす場所を固定すると、どれだけ増やしても迷いにくくなります。
3候補は次の形です。
=IFERROR(候補1,IFERROR(候補2,候補3))
4候補は次の形です。
=IFERROR(候補1,IFERROR(候補2,IFERROR(候補3,候補4)))
増やす場所は常に「一番右のエラー時の値」だと覚えると迷いません。
このルールが守れていれば、候補を5つ、6つと増やしても同じ作業で済みます。
カッコが不安なら、内側から小さく作って外へ広げるのが安全です。
先に内側のIFERRORだけを完成させてから外側に包むと、途中の確認がしやすいです。
よくあるミス(カッコ/””/引数位置)
カッコの数が合わないと、式が途中で止まります。
まずは候補を2つに減らして動く形を作ってから増やすと直しやすいです。
候補を増やす途中で動かなくなったら、直前に追加した部分だけを疑うと早いです。
“”は空文字で、空欄に見せたいときに使います。
ただし、空欄にすると後で集計やチェックが難しくなることがあります。
未入力と未検出が混ざると、どこが問題なのか見えなくなるためです。
「該当なし」などの文字を返す方が分かりやすい場面もあります。
運用の途中で表示ルールを変えると混乱するので、最初に方針を決めておくと安心です。
IFERRORで“条件を増やす”分岐の作り方(IF/IFS+IFERROR)
条件を増やすときは、先に条件で分岐してから、各分岐の中でIFERRORを使うと整理できます。
この順序にすると、条件判定と検索処理が混ざらず、式の見通しが良くなります。
条件が増えたときに一番困るのは、どこで何を判定しているかが見えなくなることです。
条件の段階と検索の段階を分けると、修正点も見つけやすくなります。
IFで分岐→IFERRORで保険をかける
IFで先に道筋を分けて、各ルートの中でIFERRORを使います。
この形は、条件が2つ程度で、分岐の理由がはっきりしているときに向いています。
例(条件により検索表を切り替える):
=IF(条件,IFERROR(検索A,”該当なし”),IFERROR(検索B,”該当なし”))
この形だと、条件の部分だけを読めば分岐の意図が分かります。
検索Aと検索Bは、VLOOKUPなどに置き換えられます。
条件の中でさらに条件を増やしたい場合は、IFの入れ子にする前に判定項目を整理すると安全です。
まずは条件だけを先に書き出して、どの条件でどの検索先に行くかを決めてから式にすると混乱しにくいです。
IFSで条件が多いときの整理術
条件が3つ以上あるなら、IFSで分岐を書くと読みやすいことがあります。
IFSは「条件1ならこれ、条件2ならこれ」のように並べられます。
例(条件が3つのとき):
=IFS(条件1,IFERROR(検索A,”該当なし”),条件2,IFERROR(検索B,”該当なし”),条件3,IFERROR(検索C,”該当なし”))
IFSの最後にTRUEを置くと、どれにも当てはまらないときの受け皿になります。
TRUEの受け皿を置くと、条件の漏れがあっても式が落ちにくくなります。
一方で、条件の順番は上から評価されるので、広い条件を先に置くと後ろが実行されない点に注意します。
「IRERROR」は「IFERROR」の打ち間違いが多い
検索で「IRERROR」と書かれている場合は、「IFERROR」の入力ミスであることがよくあります。
関数名は英字の並びが似ているので、入力後に候補一覧で確認すると安心です。
最初に関数名だけを正しく入れてから引数を埋めると、打ち間違いを減らせます。
エラー処理の結果が意図どおりか不安なときは、いったんIFERRORを外してエラー内容を確認すると原因が早く見つかります。
エラーが消えないときは、まず関数名が正しいかを疑うだけでも原因特定が早くなります。
VLOOKUPで複数の範囲から探す(2つの範囲)
VLOOKUPは「探す値が見つからない」と#N/Aになりやすい関数です。
その#N/AをIFERRORで受けて、次の表を探す流れを作れます。
ここでは、2つの表から順番に探す基本形を扱います。
2つの表を使う場面は、担当部署ごとに名簿が分かれているときや、年度ごとに一覧が分かれているときなどでよく起きます。
まずは「表1でだめなら表2へ」という形を作り、必要が出たら後で3つ以上へ増やすと安全です。
基本形:見つからなければ次の表へ(IFERROR+VLOOKUP)
もっともよく使う形は、VLOOKUPをIFERRORでつなぐ方法です。
例(表1で見つからなければ表2を探す):
=IFERROR(VLOOKUP(検索値,範囲1,列番号,FALSE),VLOOKUP(検索値,範囲2,列番号,FALSE))
この形なら、範囲1で見つかったときはその結果が返ります。
範囲1で#N/Aなら、範囲2の結果が返ります。
つまり、式の順番そのものが「どちらの表を優先するか」を表しています。
2つの表に同じキーがある可能性があるなら、どちらを正とするかを決めてから順番を固定すると安心です。
列番号は、どちらの範囲でも同じ意味の列を指すように揃えると安定します。
列の意味が揃っていないと、見つかったのに別の項目を返してしまう事故が起きます。
完全一致・参照固定・スペースのチェックポイント
VLOOKUPの最後の引数は、基本的にFALSE(完全一致)から始めると安全です。
近似一致は、前提が合わないと意図しない値を返すことがあります。
検索値に前後スペースがあると、見つからない原因になります。
データ側に余計な空白が混ざることもあるので、最初に疑うと早いです。
とくに、コピペや外部データ取り込みではスペースが混ざりやすいので注意します。
範囲の参照は、コピーするなら$で固定してズレを防ぎます。
固定しないと、下方向にコピーしたときに参照範囲が少しずつ動き、結果が変わる原因になります。
表の左端の列に検索キーがあるかどうかも確認します。
VLOOKUPは左端の列からしか探せないので、キーが右側にあると見つからない点も押さえます。
列構造が違う場合の注意
範囲1と範囲2で列の並びが違うと、同じ列番号でも意味が変わります。
この状態で無理に式をつなぐと、間違った列の値を拾う事故が起きます。
とくに、片方の表だけ列が追加されたり、並び替えが入ったりすると、列番号のズレに気づきにくいです。
列構造が違うなら、列を揃えるか、表を統合する方が長期的に安全です。
まずは「返したい項目が同じ列位置にあるか」を確認してから式を組むと失敗が減ります。
構造をそろえておけば、後から検索先を増やすときも式を流用しやすくなります。
VLOOKUPで3つ以上の範囲を検索(増やし方と管理)
検索先が3つ以上になると、式はすぐに長くなります。
検索先が増えるほど、IFERRORやVLOOKUPを重ねる回数も増え、式全体が読みにくくなりがちです。
長くなった式は、直すのも引き継ぐのも難しくなります。
特に、後から自分や他人が見返したときに「なぜこの順番で探しているのか」が分かりにくくなります。
ここでは、増やし方の基本と、破綻しないための管理のコツをまとめます。
ネストを増やすだけの方法と限界
最短で増やすなら、IFERRORの右側にさらにIFERRORを重ねます。
この方法は、今ある式を少しずつ拡張できるのがメリットです。
例(3つの範囲を順に探す):
=IFERROR(VLOOKUP(検索値,範囲1,列番号,FALSE),IFERROR(VLOOKUP(検索値,範囲2,列番号,FALSE),VLOOKUP(検索値,範囲3,列番号,FALSE)))
この方法はすぐに作れます。
すでに2範囲で動いている式があれば、考え方を変えずに追加できる点も便利です。
一方で、範囲が増えるほどカッコや参照ミスが増えやすいです。
とくに、どこまでが1つのIFERRORなのかを見失いやすくなります。
「どこで見つかったのか」が分かりにくい点も弱点です。
調査や修正のときに、1つずつ式を分解しないと理解できなくなる場合があります。
優先順位ルール(どれを採用するか)を先に決める
複数の表に同じキーがあると、どの表の値を採用するかが問題になります。
この判断を式を書く前に決めておかないと、後から結果が変わって混乱します。
先に「範囲1を最優先にする」「最新の表を優先する」などの優先順位を決めると迷いません。
優先順位がはっきりしていれば、IFERRORでつなぐ順番も自然に決まります。
優先順位が曖昧だと、表の更新タイミングで結果が変わることがあります。
同じ検索値なのに、日によって返る値が違うとトラブルの原因になります。
運用ルールは、チームや自分が後から見ても分かる形でメモしておくと安心です。
範囲をまとめる発想(表の統合・キーの揃え方)
検索先が増え続けるなら、式でつなぐより表をまとめる方が楽になります。
表を1つにまとめてしまえば、VLOOKUPやXLOOKUPも1回で済みます。
キーの表記ゆれを減らして、同じルールで管理できる形に寄せるのがコツです。
「部署名の略称が混ざる」などのゆれは、データ側で揃える方が効果が大きいです。
統合が難しい場合でも、列の意味だけは揃えると事故が減ります。
列の意味がそろっていれば、後から別の関数に置き換えるときも作業が楽になります。
エラーの見せ方と運用ルール(隠すより伝える)
IFERRORは便利ですが、エラーを全部消すと原因に気づけなくなることがあります。
特に、作りたてのシートではエラーが「どこが壊れているか」を教えてくれる合図になります。
「隠す」と「伝える」のバランスを意識すると、後工程が楽になります。
ここでは、エラー表示の考え方と、運用で効くチェックをまとめます。
まずは、エラーを一度そのまま表示して原因を確認してから、最後にIFERRORで整えるのがおすすめです。
また、#N/Aは「見つからない」、#VALUE!は「型や引数が違う」など、種類で原因の当たりが付きます。
空欄/「該当なし」/別メッセージの使い分け
エラー時に空欄を返すと見た目はきれいです。
一方で、未入力なのか見つからないのか区別がつかなくなることがあります。
空欄は集計結果を見やすくしますが、チェック作業では見落としが増えることがあります。
「該当なし」と出すと、見つからなかった事実が残ります。
「該当なし」が残ると、後からフィルターでまとめて確認できるようになります。
用途に合わせて、どの表示にするかを決めるのが大切です。
表示を決めるときは、次の作業者が何をしたいかを想像すると判断しやすいです。
| 目的 | おすすめの返し方 | 向いている場面 |
|---|---|---|
| 見た目を整えたい | “”(空欄) | 一時的な集計や提出前の整形 |
| 欠損を明確にしたい | “該当なし” | チェック表や作業リスト |
| 次の行動を促したい | “入力してください” | 入力フォームや運用ルールがある表 |
| 原因調査を優先したい | エラーを残す | 作成直後や不具合調査のタイミング |
表のどれを選ぶかは、表を使う目的に合わせて決めます。
同じブック内で運用するなら、表示文言もできるだけ統一すると検索や置換が楽になります。
入力側チェック(未入力・表記ゆれ・型)
検索がうまくいかない原因は、式よりデータ側にあることが多いです。
未入力が混ざっていないかを最初に確認します。
未入力が多い表では、検索の前に入力必須の列をチェックする運用を入れると安定します。
表記ゆれや全角半角の混在も、見つからない原因になります。
たとえば、全角の数字や全角スペースが混ざるだけで一致しないことがあります。
数字が文字列として入っているなど、型の違いも見落としやすいです。
型の違いは見た目では気づきにくいので、同じ列は同じ入力方法にそろえるのが近道です。
検索キーに余計な空白や改行が入っていないかも、最初に疑うと早いです。
同じキーが複数行に存在する場合は、どの行を採用するのかも別の問題になります。
重複がある表では、採用ルールを決めてから式を組むと結果がぶれにくいです。
式で頑張りすぎる前に、データの前提を整えるのが近道です。
よくある質問(FAQ)
最後に、つまずきやすい点を少し詳しくまとめます。
ここで扱う内容は、実務でよく出る疑問ばかりです。
困ったときは、質問の見出しに沿って上から順番に確認してみてください。
IFERRORを重ねると重くなる?
IFERRORを重ねるほど、式の中で試行される回数が増えるため、計算量は理屈の上では増えます。
ただし、数個から十数個程度のネストであれば、通常の業務シートで体感速度が大きく変わることは多くありません。
一方で、参照範囲が非常に大きい場合や、数千行・数万行に同じ式をコピーしている場合は影響が出やすくなります。
動作が重いと感じたら、IFERRORを減らすよりも、検索範囲を狭くする、不要な列を参照しないといった見直しが効果的です。
VLOOKUPで見つからない原因がわからない
まず最初に、検索値の前後に余計なスペースが入っていないかを確認します。
次に、VLOOKUPの最後の引数がFALSE(完全一致)になっているかを確認します。
それでも見つからない場合は、参照範囲の左端の列に検索キーがあるかを見直します。
さらに、検索値が文字列なのか数値なのか、型が一致しているかも重要なポイントです。
最後に、参照固定($)がずれていないかを確認し、コピー時に範囲が動いていないかをチェックします。
3つ以上の表を探すときのおすすめは?
最初に「どの表を優先するか」という優先順位ルールを決めると、結果が安定します。
このルールが曖昧なままだと、表の更新や追加によって、同じ式でも返る値が変わることがあります。
検索先が今後も増えそうな場合は、IFERRORでつなぎ続けるより、表の統合や列構造の統一を検討すると管理が楽になります。
IFERRORのネストは便利な応急処置ですが、運用の視点でどこまで使うか限界を決めておくと安全です。