IFERRORの数式は?VLOOKUPや複数条件の場合、IFとの組み合わせも


IFERRORを使って計算されないエラーを消したいこともあるかもしれません。イフエラー関数の使い方がわかると、Excelやスプレッドシートでより見栄えの良い集計シートをまとめられますよね。エクセルでIFERRORを使うときにはVLOOKUPで別シートからデータを取ったり、IFERRORとIFを組み合わせたりと使い道も多いです。今回は、IFERRORの数式を複数条件が関係する場合の使い方なども含めてご紹介します。

◎IFERRORの数式は?複数条件の場合の使い方も

●イフエラー関数の使い方


IFERROR関数とは、値がエラーだったときにその代わりに表示する値を決められる機能です。エクセルで計算をする際に割り算や関数を使う場合、結果が出せないとエラーが表示されます。そのままだと見た目が良くないので別の見え方にしたい場合に利用すると良いでしょう。IFERROR関数の数式は、『=IFERROR(値,エラーの場合に代わりに表示させる値)』です。最初の[値]とは、数値や文字列だけではなく、計算式や条件式、あるいは別のセルを参照することもできます。


たとえば、エクセルで割り算をした際に、単なる計算では『#DIV/0』などのエラーがそのまま表示されます。IFERRORはこのエラーを空白など別の文字列に置き換えるために使える関数です。『=IFERROR(D7/E7,””)』などとすると、D7/E7の値がエラーだった場合には””(空白)にできます。イフエラー関数は、指定した値がエラーだった場合のみに反応する関数で、エラーではない場合は調べる値がそのまま出てくるため指定する必要がありません。

●IFERROR関数を複数条件で利用すると?


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


例では、エラーではない値が出てきた段階でその値が表示され、全てエラーだった場合には代わりの値である空白になりました。代わりの値のところにIFERROR関数を入力すると、さらに複数条件で調べることができます。

●IFERROR関数をスプレッドシートで利用したときの見え方


IFERROR関数はスプレッドシートでも同様に使うことができます。式の立て方は同じで、1つ目がエラーかどうかを調べる値、2つ目がエラーだった時に代わりに表示する値です。IFERROR関数などをスプレッドシートで使うと、最後のExterキーを押す前でも計算結果が出てきますので、思っているような値が表示されるかを見ながら入力すると良いかもしれません。

◎エクセルでIFERROR(VLOOKUP)の組み合わせ、複数条件・別シートが絡む場合も

●イフエラー関数とブイルックアップの組み合わせ


VLOOKUP関数は、端的に説明すると、指定の値が含まれている範囲の列を調べて、同じ行の右方向に進んだセルにある値を取り出します。別シートから探し出したり、別のセルの値を調べたりする複雑な関数のため、エラーになる可能性も高いです。そこで、イフエラー関数とブイルックアップを組み合わせると、エラーになったときでもExcel上ではエラーがないように見せられます。エクセルでは、IFERROR(VLOOKUP) の形で、調べる値のところにブイルックアップを代入することが多いです。


数式は、『=IFERROR(VLOOKUP(検索値,範囲,列番号,検索方法),エラーの場合に代わりに表示させる値)』となります。検索方法に関しては書かなくても問題ありません。[検索値]を[範囲]の一番左の列から探し、見つかった場合にはその列を1番目として[列番号]だけ右に動いた同じ行の値を取り出します。検索値が見つけられなかったり、範囲外に列番号が指定するセルがあったりするとエラーになりますが、イフエラーを付けておくことで代わりの値にすることが可能です。たとえば、こちらの式はなぜ「値なし」になっているかわかるでしょうか。


[E]と書かれたセルを範囲D4:I9の中で探しています。I8には確かに[E]と書かれていますが、ブイルックアップは[検索値]を[範囲]の一番左の列から探すため、今回範囲の一番右の列にある[E]には反応しません。そのため、検索値がないと判断してエラーを出し、外側にあるイフエラーがエラーを認識して代わりの値である「値なし」を出しました。この[E]を[5]など範囲の左端の列に書かれている内容にするとエラーにはならないので、イフエラー関数がブイルックアップの値をそのまま表示します。

●IFERRORとVLOOKUPで複数シートが絡む場合は?


IFERRORとVLOOKUPで別シートが絡む場合も見ておきましょう。数式はたとえば、『=IFERROR(VLOOKUP(5,IFERROR!D4:I9,6,FALSE),”値なし”)』などです。この例では、調べる範囲を別のシートで行っているため「IFERROR!」というシート名が入力されています。検索値も参照してかつセルが別のページにある場合には、その都度シート名を「シート名!」の形で記載して指定しましょう。


また、この2つの関数を組み合わせて複数の範囲を検索したい場合には、先ほどの複数条件と同じように考えましょう。1つ目の値を調べてエラーでなければその値、エラーであれば2つ目の値を調べてエラーでなければ2つ目の値、いずれもエラーであれば代わりの値を入力します。数式の例は、『=IFERROR(VLOOKUP(検索値,範囲,列番号,検索方法),IFERROR(VLOOKUP(検索値,範囲,列番号,検索方法),エラーの場合に代わりに表示させる値))』です。長々としていますが、[1つ目の値][2つ目の値]のところにVLOOKUPが代入されていると考えるとわかりやすいでしょう。

◎IFERRORとIFの組み合わせの例


IFERRORは関数IFと一緒に使うこともあります。IFERRORは関数IFと一緒に使うこともあります。特に、エラーではない値を別の値で表したいときに有効です。数式は、『IF(IFERROR(値)=0,”●”,IFERROR(値)』などと記載します。この場合、まずIFERRORの値を調べて0であれば「●」と表示、そうでなければIFERRORを調べてエラーなら別の値、エラーでなければその値を表示するわけです。もちろん、調べる値の部分には、先ほどと同じようにVLOOKUPを代入して3つの関数を組み合わせることもできるので、さらに使い道が広がるでしょう。

◎IFERRORがうまく計算されない・使えないことがある理由は?


IFERRORを使ってもうまく計算されないこともあるかもしれません。IFERRORが使えない原因として考えられるのが、比較的に新しい関数である点です。Excel2007で初めて導入されており、もしそれよりも以前のバージョン(~Excel2003)を利用されている場合には使えません。代わりに使われていたのが似たような機能を持つISERROR関数です。セルにエラーを表示させない機能は同じですから、IFERRORを何度試しても使えないという場合には、代わりにこちらの関数を使って式を入力してみると良いでしょう。詳しい使い方に関しては次回の記事で触れていきますので、あわせて参考にしていただけますと幸いです。

◎まとめ


今回は、イフエラー関数の使い方や他の関数との組み合わせについてご紹介しました。エラーを表示させないようにするのが主な使い方ですから、条件式や他の計算と合わせて使う場面も多いかもしれません。ただ、基本的に形は決まっているので、元となる数式を把握した上でどの部分に別の関数などが含まれているのかを見比べると理解しやすいでしょう。最後までお読みいただきありがとうございました。

Curlping