GoogleスプレッドシートでIF関数を使った例外処理とIFERROR関数を学ぼう!

スプレッドシート

前回まででIF関数・IFS関数・IF関数とその他の関数を組み合わせて使う方法を紹介しました。

理解できていない方はもう一度下記を参照してください。

 

社員A
社員A

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

ケンジロウ
ケンジロウ

例外処理?

下図を例に考えてみましょう。

社員A
社員A

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

ケンジロウ
ケンジロウ

「りんご」の発注合計金額は「Dセル」に「=B3*C3」と入力して、そのまま下のセルへコピーするね。

結果をみてみましょう。

問題ないですね。

社員A
社員A

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

社員B
社員B

「D6セル」の中は「=B6*生産終了」となるのでエラーが出ますよね。

そうですね。実務ではこのような場面が多々ありますし、今回の表ではまた違う果物が生産終了になってしまう可能性があります。

ですのでこれをエラーで表示させるのではなく、IF関数をつかって「発注不可」と表示させるようにしておきましょう。

今回の場合ですと「生産終了」以外の場合は「計算結果を返す」という内容になるのでIF関数に入れる内容は以下になります。

まずはIF関数に入れる内容を確認しましょう。

論理式:C3セル(数量が)=”生産終了”(生産終了の時)
真の場合:D3セル(発注不可を返す)
偽の場合:D3セル(計算結果を返す)

となります。

これを計算式にすると以下になります。

これを「D3セル」へ入力して下のセルへコピーした結果が下図になります。

できていますね。

ではもう一つ例をみてみましょう。

IF関数を使った例外処理②

下図を例に考えてみましょう。

条件として、在庫数が0を下回らないように追加発注数(D列)の数を計算してみましょう。

ケンジロウ
ケンジロウ

なるほど・・・・ということは「りんご」なら「出荷予定数のC3セル」から「在庫数のB3セル」を引いて追加発注数に足りない分の数量が出れば良いから、「D3セル」は「=C3-B3」だな。

一度結果をみてみましょうか。

「みかん」「スイカ」「ぶどう」は出荷予定数よりも在庫数の方が多いため「-(マイナス)」と表示されていますね。

 

社員A
社員A

発注数が「-(マイナス)」というのは変な感じですよね。

発注する必要がないのでこの場合では「0」が表示されるようにIF関数を使ってみましょう。

 

まずはIF関数に入れる内容を確認しましょう。

論理式:C3セル(出荷予定数が)<B3セル(在庫数よりも少ない時)
真の場合:D2セル(0を返す)
偽の場合:D2セル(計算結果を返す)

となります。

これを計算式にすると以下になります。

これを「D3セル」へ入力して下のセルへコピーした結果が下図になります。

できていますね。

例外処理というのは「特殊な事が起きた時に普段とは違うことをする」と置き換えて考えることができます。

ですのでIF関数を使う場合は、「特殊なことが起きた時」は「A」を返し、「特殊なこと以外の時(いつも通り)」は「B」を返すと考えることができます。

ケンジロウ
ケンジロウ

なるほどね・・・・

社員A
社員A

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

ケンジロウ
ケンジロウ

IFERROR関数?

IFERROR関数とは

数式やセル参照がエラーの場合は、指定した値を返す関数です。

構文

=IFERROR(値, エラーの処理)

値がエラー以外の時は「値」を返し、エラーの時は「エラーの処理」を返します。

社員A
社員A

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

ケンジロウ
ケンジロウ

みたことあるね。

先程のIF関数を使った例外処理①でみてみましょう。

D3セルに「=B3*C3」と入力して下のセルにコピーすると、下図のように「メロン」の発注合計金額がエラーで「#VALUE!」こう表示されました。

これをIFERROR関数で処理してみましょう。

IFERROR関数を使ってみる。

まずはIFERROR関数に入れる内容を確認しましょう。

値:B3セル(りんごの単価)*C3セル(数量)
エラーの処理:D3セル(発注不可)

となります。

これを計算式にすると以下になります。

これを「D3セル」へ入力して下のセルへコピーした結果が下図になります。

できていますね。

IFERROR関数はエラーが出た場合にのみ使う事ができます。

ですので「IF関数を使った例外処理②」のようにエラーではなく計算結果が出てしまう場合には使うことができないので注意しましょう。

社員A
社員A

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

コメント

タイトルとURLをコピーしました