IFERROR関数の使い方

22ーDec-2020

 

IFERROR(値,エラーの場合の値)
式がエラーの場合は、エラーの場合の値を返します。エラーでない場合は、式の値自体を返します
IFERROR関数を使用すると、エラーの場合に表示される、「#VALUE!」や、「#DIV/0!」などの代わりに、空白や任意の値を表示させることが可能になります。

 



 



 

エラーの種類

 

まず、Excelで数式を扱っているときに、よくお見かけするエラーをご紹介いたします。

#DIV/0! 数値・数式が「0」または「空白セル」で除算されている場合に表示されます。
#NAME? 関数の名前が間違っている、もしくは数式に入力された値そのものが計算できない場合に表示されます。
#NULL! 数式内で複数のセル範囲が「:」や「,」でなく半角スペースでつながれており、セル範囲どうしに共通部分がない場合に表示されます。
#NUM! 数値の指定が不適切か数式に無効な数値が含まれているときに表示されます。
#N/A 計算や処理の対象となるデータがないときに表示されます。
#REF! 存在しないセルを参照する数式を実行したときや、数式内で無効なセルが参照されているときに表示されます。
#VALUE! 数値を入力するべき数式に、スペースや文字など関数の引数の形式が間違っているときに表示されます。

 

 

 

IFERROR関数の使用方法

 

商品コードを入力すると、商品名と単価が表示される表をVLOOKUP関数XLOOKUP関数を使用して作成した場合。

下の例は、商品名と単価の列には、XLOOKUP関数を使用して、商品コード(A列)を入力すると、別シートの単価表を参照して、それぞれ入力されるようにしています。

=XLOOKUP(「参照セル(商品コード記入セル)」,「単価表の商品コード記入列」,「単価表の商品名記入列」

=XLOOKUP(「参照セル(商品コード記入セル)」,「単価表の商品コード記入列」,「単価表の単価記入列」


商品コードが現在未入力のため、商品名と単価の列には、エラーが表示されています

商品コードを入力すると商品名と単価が表示される

 

「単価表」シート↓

単価表
別シートの単価表

 

商品コードの入力セルにはあらかじめ、単価表に記載されている「B-001」~「B-005」を、「データの入力規制」を使ってリスト化しています。

商品コードリスト

 

商品コードを入力してみます。

商品コードを入力するとエラーが消えました

 

商品コードを入力すると「商品名」「単価」が入力され、エラーが消えました

商品コードを入力すれば消えますが、商品コードを入力しなければエラーが表示されたままというのも困りものです。

ここで「IFERROR関数」を使用します。

IFERROR(値,エラーの場合の値)

ここでは、IFERROR(既存の数式,エラーの場合の値)となります。今回、エラーの場合は空白にしたいので、エラーの場合の値は「””」と記入します。

=IFERROR(XLOOKUP(参照セル(商品コード記入セル)」,「単価表の商品コード記入列」,「単価表の商品名記入列」,””)

=IFERROR(XLOOKUP(「参照セル(商品コード記入セル)」,「単価表の商品コード記入列」,「単価表の単価記入列」),””)

単価表
単価表

 

下図の「B3」セルには「=IFERROR(XLOOKUP(A3,単価表!$A$3:$A$7,単価表!$B$3:$B$7),””)」と数式を入れています。「B4」セルには「=IFERROR(XLOOKUP(A3,単価表!$A$3:$A$7,単価表!$C$3:$C$7),””)」と数式を入れています。

商品コードが入力されていなくてもエラー表示はされていません

IFERROR関数を使用したら

 

下の他のエラー表示セルにも「IFERROR関数」の数式に直していきます

IFERROR関数に書き換え

 

すべてのエラー表示が消えました

上の例では、エラーの場合の値を”空白”にしていますが、下のようなエラーの場合

例えば前年度比が0の場合

筆者は、八百屋さんでも生産者さんでもございませんので、売上金額は適当です。あくまでも「IFERROR関数」を使用する場合の例です。

たまねぎ」の前年比にエラーが表示されています。なぜなら前年比列の数式は、「今年度/前年度」で、表示書式を「パーセント」にしているからです。

冒頭の「エラーの種類」に記載のとおり、「#DIV/0!」は、数値・数式が「0」または「空白セル」で除算されている場合に表示されます。

「IFERROR関数」を使って、エラー表示の代わりに違う文字列が表示されるようにします。「「前年度」/「今年度」」という数式を、「=IFERROR(「前年度」/「今年度」,”前年度入荷無し“)に変更します。

前年度入荷無し

 

上図のように、「#DIV/0!」「前年度入荷無し」に表示が変わりました。

「前年度」は売上があるが、「今年度」に売上が無い場合はどうするのか?など、より細かい設定が必要な場合は、「IF関数」や「IFS関数」の出番となりますが、上記ぐらいの使用なら、「IFERROR関数」が設定が簡単です。

機会がございましたらお試しください。

 

 

 

 

 

 

 

 

[Excel]IF関数の使い方 ① 条件つき数式の挿入

[Excel]IF関数の使い方 ② 条件で判断する数式の挿入

[Excel]IF関数の使い方 ③ 複数の条件を設けたいときのAND関数・OR関数

[Excel]XLOOKUP関数の使い方

[Excel]VLOOKUP関数の使い方

 
 

コメントを残す