Excelで関数を使っていると、計算結果がエラーになってしまい、表が見づらくなったり、意図しない表示が出たりすることがあるかもしれません。特に、VLOOKUPやIF関数を使っていると、「#N/A」や「#DIV/0!」といったエラーが頻繁に出て困ってしまいますよね。そんなときに役立つのが、エラー時の表示を制御できるIFERROR関数で、IFとIFERRORなど様々な組み合わせができるのも特徴です。今回は、Excel/エクセルのIFERRORについて基本的な使い方から複数条件(2つ以上)での考え方、イフエラーとイフの組み合わせなどをご紹介します。
◎IFERROR の複数条件での使い方
まずは、IFERROR関数の基本的な役割と使い方から確認していきましょう。IFERROR関数とは、数式の結果がエラーになった場合に、代わりの値を表示できる関数です。Excelで計算や関数を使っていると、割り算や検索処理がうまくいかず、「#DIV/0!」や「#N/A」といったエラーが表示されるかもしれません。こうしたエラーをそのまま表示すると、見た目が悪くなったり、表として使いにくくなったりするため、IFERRORを使って表示を整えるのが一般的です。IFERROR関数の基本的な数式は、『=IFERROR(値,エラーの場合に代わりに表示する値)』という形になります。ここでいう「値」には、単なる数値や文字だけでなく、計算式や条件式、他のセルを参照する式などを指定することも可能です。

たとえば、割り算の式で分母が0になる可能性がある場合、そのままではエラーが表示されますが、『=IFERROR(D7/E7,””)』とすれば、計算結果がエラーだったときだけ空白を表示できます。IFERRORは「エラーかどうか」だけを判定する関数なので、エラーでない場合は、元の計算結果がそのまま表示される点が特徴です。このイフエラー関数を複数条件で利用するにはどうすれば良いかを次の項目でみていきましょう。

●IFERROR関数を複数条件で利用すると?
IFERROR関数は複数条件でも使うことができます。先ほどの数式で「エラーの場合に代わりに表示させる値」のところをもう一度IFERRORの式にするのです。具体的には、『=IFERROR(値,IFERROR(値,エラーの場合に代わりに表示させる値))』となり、1つ目の値がエラーだった場合には2つ目の値がエラーかどうかを調べます。2つ目の値もエラーであれば、最後に指定した代わりの値が表示される仕組みです。

この仕組みを使えば、複数の計算式や検索結果を順番に試すことができます。途中でエラーではない値が見つかれば、その時点で処理が止まり、その結果が表示されるため、無駄なエラー表示を避けられるのがメリットです。さらに条件を増やしたい場合は、同じようにIFERRORを重ねていくことで対応できます。

※IFERROR関数をスプレッドシートで使った時の見え方です。

◎IFERROR × VLOOKUP の複数条件の組み合わせ|3つ以上の場合も
VLOOKUP関数は、指定した値を表の左端列から探し、同じ行にある別の列の値を取り出す関数です。別シートの表を参照したり、条件付きで値を取得したりできる便利な関数ですが、検索値が見つからない場合などにエラーが出やすいという特徴があります。そこでよく使われるのが、IFERRORとVLOOKUPの組み合わせです。VLOOKUPをIFERRORの「値」の部分に入れることで、検索に失敗した場合でも、エラーではなく任意の文字や空白を表示できます。
数式は、『=IFERROR(VLOOKUP(検索値,範囲,列番号,検索方法),エラーの場合に代わりに表示させる値)』となります。検索方法に関しては書かなくても問題ありません。[検索値]が見つからない、または[列番号]が範囲外の場合にはVLOOKUPがエラーを返しますが、IFERRORがそれを受け取り、代わりの値を表示します。

●IFERROR と VLOOKUP の組み合わせの基本
たとえば、範囲D4:I9の中で「E」という値を探している場合、その値がI列にあっても、D列に存在しなければVLOOKUPは見つからないと判断します。その結果、エラーが発生し、IFERRORによって「値なし」などの代替表示が出ます。このような動きは、VLOOKUPの仕様によるものなので、エラーの原因が数式の間違いではないケースも多いです。IFERRORを使っておけば、こうした場合でもエラー表示を抑えつつ、原因を切り分けて考えることができます。

●IFERROR と VLOOKUP を複数条件で使う数式の例
IFERRORとVLOOKUPの組み合わせの数式は、別シートを参照する場合や、複数の範囲を順番に検索したい場合にも活用できます。たとえば、『=IFERROR(VLOOKUP(5,IFERROR!D4:I9,6,FALSE),”値なし”)』のように記述すると別シート「IFERROR」にある表への参照が可能です。

また、IFERROR と VLOOKUP を複数条件で使いたい場合は、IFERRORを重ねます。
『=IFERROR(VLOOKUP(検索値,範囲1,列番号,検索方法),IFERROR(VLOOKUP(検索値,範囲2,列番号,検索方法),エラーの場合に代わりに表示させる値))』という形です。1つ目の範囲で見つかればその結果を表示し、見つからなければ2つ目の範囲を検索します。どちらにも存在しない場合のみ、最後の代替値が表示されるため、IFERROR と VLOOKUP による3つ以上の条件でも同じ考え方で拡張可能です。

VLOOKUP関数に関して詳しくはこちら
◎IFERRORとIFの組み合わせの例
IFERRORは関数IFと一緒に使うこともあります。IFERRORは関数IFと一緒に使うこともあります。特に、エラーではない値を別の値で表したいときに有効です。数式は、『IF(IFERROR(値)=0,”●”,IFERROR(値)』などと記載します。この場合、まずIFERRORの値を調べて0であれば「●」と表示、0でなければ元の値を表示する、という流れです。IF関数とIFERROR関数の組み合わせでは、先にIFERRORでエラーを処理してからIFで条件分岐することで、エラーと数値判定を混在させず、数式を整理できます。
●IFERROR と IF と VLOOKUP の 組み合わせ
もちろん、調べる値の部分には、先ほどと同じようにVLOOKUPを代入して3つの関数を組み合わせることもできるので、さらに使い道が広がるでしょう。IFERROR と IF と VLOOKUP の 組み合わせでは、検索結果の有無・数値条件・エラー処理をまとめて制御できます。基本的な考え方は、まずVLOOKUPで値を取得し、その結果がエラーであればIFERRORで処理し、エラーでなければIF関数で条件分岐する、という順序です。たとえば、検索結果が0のときは特定の記号を表示し、検索できなかった場合は空白にしたい、といったケースでは「VLOOKUP → IFERROR → IF」の流れで数式を組み立てます。こうすることで、エラーと通常の条件分岐を明確に分けられ、数式の意図も理解しやすいです。
◎IFERRORの関数が複数条件でうまく動かない原因と対処法
IFERRORの関数が複数条件でうまく動かない場合、Excelのバージョンが原因であることがあります。IFERROR関数はExcel2007以降で導入されたため、Excel2003以前の環境では使用できません。もし古いバージョンを使っている場合は、代替としてISERROR関数を使う方法があります。ISERRORとは、値がエラーかどうかを判定する関数で、IF関数と組み合わせることで、IFERRORと似た処理が可能です。詳しくはこちらの記事で触れています。
また、イフエラー関数を複数条件で使う場合は、数式が長くなりやすいため、かっこの位置や参照範囲の指定ミスにも注意が必要です。エラーが出る場合は、一度VLOOKUPや計算式単体で正しく動くかを確認してから、IFERRORを組み合わせると原因を切り分けやすくなります。
◎まとめ
今回は、Excel/エクセルのIFERRORについて基本的な使い方から複数条件(2つ以上)での考え方、イフエラーとイフの組み合わせなどをご紹介しました。IFERRORを使えば、エラー表示を抑えつつ、複数の条件や検索結果を順番に判定できます。また、IFとIFERRORなど様々な組み合わせで、エラー処理と条件分岐を整理した、読みやすい数式を作ることも可能です。うまくいかない場合は、参照部分や関数の式ごとでチェックしながら原因を探りましょう。最後までお読みいただきありがとうございました。



