前回まででIF関数・IFS関数・IF関数とその他の関数を組み合わせて使う方法を紹介しました。
理解できていない方はもう一度下記を参照してください。



もう一つIF関数を使う時に「例外処理」の方法を覚えておくと実務で役に立ちますよ。

例外処理?
関数を使った例外処理①
下図を例に考えてみましょう。

このシートでそれぞれの果物の発注合計金額を出したい場合はどうしますか?

「りんご」の発注合計金額は「Dセル」に「=B3*C3」と入力して、そのまま下のセルへコピーするね。
結果をみてみましょう。
問題ないですね。

しかし、「メロン」が「生産終了」となった場合は、どうなるでしょうか?

「D6セル」の中は「=B6*生産終了」となるのでエラーが出ますよね。
そうですね。実務ではこのような場面が多々ありますし、今回の表ではまた違う果物が生産終了になってしまう可能性があります。
ですのでこれをエラーで表示させるのではなく、IF関数をつかって「発注不可」と表示させるようにしておきましょう。
今回の場合ですと「生産終了」以外の場合は「計算結果を返す」という内容になるのでIF関数に入れる内容は以下になります。
まずはIF関数に入れる内容を確認しましょう。
論理式:C3セル(数量が)=”生産終了”(生産終了の時)
真の場合:D3セル(発注不可を返す)
偽の場合:D3セル(計算結果を返す)
となります。
これを計算式にすると以下になります。
これを「D3セル」へ入力して下のセルへコピーした結果が下図になります。
できていますね。
ではもう一つ例をみてみましょう。
IF関数を使った例外処理②
下図を例に考えてみましょう。
条件として、在庫数が0を下回らないように追加発注数(D列)の数を計算してみましょう。

なるほど・・・・ということは「りんご」なら「出荷予定数のC3セル」から「在庫数のB3セル」を引いて追加発注数に足りない分の数量が出れば良いから、「D3セル」は「=C3-B3」だな。
一度結果をみてみましょうか。
「みかん」「スイカ」「ぶどう」は出荷予定数よりも在庫数の方が多いため「-(マイナス)」と表示されていますね。

発注数が「-(マイナス)」というのは変な感じですよね。
発注する必要がないのでこの場合では「0」が表示されるようにIF関数を使ってみましょう。
まずはIF関数に入れる内容を確認しましょう。
論理式:C3セル(出荷予定数が)<B3セル(在庫数よりも少ない時)
真の場合:D2セル(0を返す)
偽の場合:D2セル(計算結果を返す)
となります。
これを計算式にすると以下になります。
これを「D3セル」へ入力して下のセルへコピーした結果が下図になります。
できていますね。
例外処理というのは「特殊な事が起きた時に普段とは違うことをする」と置き換えて考えることができます。
ですのでIF関数を使う場合は、「特殊なことが起きた時」は「A」を返し、「特殊なこと以外の時(いつも通り)」は「B」を返すと考えることができます。

なるほどね・・・・

さて、先程「IF関数を使った例外処理①」でやった内容はIFERROR関数を使っても同じ結果を返す事ができます。

IFERROR関数?
IFERROR関数とは
数式やセル参照がエラーの場合は、指定した値を返す関数です。
構文
=IFERROR(値, エラーの処理)
値がエラー以外の時は「値」を返し、エラーの時は「エラーの処理」を返します。

エラーは「#VALUE!」や「#DIV/0!」のように表示される場合ですね。

みたことあるね。
先程のIF関数を使った例外処理①でみてみましょう。
D3セルに「=B3*C3」と入力して下のセルにコピーすると、下図のように「メロン」の発注合計金額がエラーで「#VALUE!」こう表示されました。
これをIFERROR関数で処理してみましょう。
IFERROR関数を使ってみる。
まずはIFERROR関数に入れる内容を確認しましょう。
値:B3セル(りんごの単価)*C3セル(数量)
エラーの処理:D3セル(発注不可)
となります。
これを計算式にすると以下になります。
これを「D3セル」へ入力して下のセルへコピーした結果が下図になります。
できていますね。
IFERROR関数はエラーが出た場合にのみ使う事ができます。
ですので「IF関数を使った例外処理②」のようにエラーではなく計算結果が出てしまう場合には使うことができないので注意しましょう。

今後紹介するVLOOKUP関数の時にもよく使いますので覚えておくと便利ですよ。
コメント