今回の記事では
IFERROR関数の基本的な使い方を知りたい
そもそも、IFERROR関数は必要なの?
IFERROR関数で具体的な活用方法を知りたい
どんな場面で活用出来るのか分からない
こういった疑問に答えます
✔IFERROR関数のテーマ
①IFERROR関数は「エラー対策」に最適解の関数です
②VLOOKUP関数などの参照系関数との組合せがベスト
この記事を書いているのはOffice歴約20年
現在、エステサロン経営をしながらITを使った現場のマネジメントをしています
「IFERROR関数」に関して実体験に基づいて解説しています
目次を使って読みたい項目へ
IFERROR関数は「エラー対策」に最適解の関数です
IFERROR関数はエラー表示された時の対処に最適の関数です
なぜなら、Excelでは必ずと言っていいほど関数を使うと「エラー」が表示されます
そのエラーになった場合の対処が必要になるからです
エラーの原因は様々ですが、エラー表示をそのままにしておくと見た目が悪いし不安にもなりますよね
そんな時はIFERROR関数を設定しておくと「エラーの場合何を表示するのか?」という対策が非常に簡単に出来ます
それでは、IFERROR関数の基本的な使い方について見ていきましょう
まずはキャンプ場利用計画書というものを用意してみました
今回の資料は「青根キャンプ場」様のサイトより一部流用させていただきました
今回はキャンプ場の利料金表を基にして、計画書の「利用タイプ」を選択すると自動的に金額を計算してくれる作りにしました
「デイキャンプか1泊」を選択して、人数を設定することで自動的に費用を計算してくれます
ココまでは順調ですが、新しい取り組みとしてバーベキュー場を新設したとしましょう
但し、料金設定はまだ出来ていない状態(料金表に反映されていない状態)を想定します
利用タイプにには項目として追加してあります
では「バーベキュー」という項目を選択するとどうなるでしょうか?
結果はバーベキューという項目が料金表に無いのでエラーが表示されてしまいました
ではエラーが表示されたらどうした良いのでしょうか?
そんな時に使いたいのが「IFERROR関数」です
IFERROR関数の使い方はとっても簡単です
「=IFERROR(エラーになるか判断したい内容,エラーの場合に表示したい内容)」
これだけです
そこで今回はこんな風に設定してみましょう
こんな感じで結果がエラーになる時は「現在非公開です」と表示するように設定しました
書き方はとっても簡単です
「=IFERROR(IFS($F$4=”1泊”,$F6*$C5,$F$4=”デイキャンプ”,$F6*$B5),“現在非公開です”)」
この内容を簡単にして日本語にすると
「=IFERROR(IFSを使った式,“現在非公開です”)」これだけです
IFSの内容は「1泊」と「デイキャンプ」という文字が入力されていれば、条件に一致していたので問題ありません
ただ「バーベキュー」は判断材料に無いので「エラー」になってしまいます
つまり、IFERROR関数は「IFS($F$4=”1泊”,$F6*$C5,$F$4=”デイキャンプ”,$F6*$B5)」の内容がエラーになるのか? 判断します
次にエラーでなけれは何もしない、エラーだったら指定した「現在非公開です」という文字を表示してね
という設定をしているという訳です
繰り返しになりますが、IFERROR関数はエラー表示された時の対処方法に最適の関数です
よくある質問:IFERROR関数を使わなくてもエラーを表示出来なくする方法があるんじゃないの?
よくある質問にこういった疑問があります
IFERROR関数は例えばIF関数でエラー対策するより圧倒的に簡単です
理由はIF関数でエラー対策をしようとすると複雑になるからです
例えば今回の例を元にIF関数を使って同じ結果が出るようにしてみましょう
こんな風にエラー回避するだけでココまで長くなります
ではこの式を見てみましょう
「=IF(ISERROR(IFS($F$4=”1泊”,$F6*$C5,$F$4=”デイキャンプ”,$F6*$B5))=TRUE,“現在非公開です”,IFS($F$4=”1泊”,$F6*$C5,$F$4=”デイキャンプ”,$F6*$B5))」
役割を分割するとこんな感じです
これを分かりやすく日本語にしてみましょう
「=もし、IFS関数の結果がエラーだったら、現在非公開ですって表示してね、そうじゃなければIFS関数の結果を表示してね」
こんな感じでしょうか
じゃあ、どうして式がこんなにも長くなるのか? 不思議ですよね
理由は「ISERROR関数でエラーになるか判断する必要があるから」です
IF関数は条件分岐の関数なので「もし〇〇だったら△△してね」という処理しかできません
つまり、結果がエラーになるかどうかはISERROR関数を使って判断する必要があります
ISERROR関数は「=ISERROR(エラーになるか判断する内容)」と設定してその結果「TRUE(エラーになるよ)」か「FALSE(エラーじゃないよ)」という結果を返してくれます
その結果を判断しているのが「「=IF(ISERROR(IFS($F$4=”1泊”,$F6*$C5,$F$4=”デイキャンプ”,$F6*$B5))=TRUE」の部分です
そして「ISERROR関数で一度エラーの判断をする必要がある」とうことは判断するための数式を設定する必要があります
そのため「IFS関数を2回使う必要が出てきます」エラーを判断するためとエラーじゃなかったらIFS関数の内容を表示する必要があるからですね
それが「”現在非公開です”,IFS($F$4=”1泊”,$F6*$C5,$F$4=”デイキャンプ”,$F6*$B5)」の部分です
つまり、IFERROR関数は複雑になるIF関数を使ったエラー分岐をめっちゃ簡単にしてくれる素晴らしい関数なんです
要は「IF関数とエラー関数のいいとこ取りをした関数」とうことになります
だからエラーを簡単に回避したいならIFERROR関数を使わない手はないんですね
繰り返しになりますが、IFERROR関数はIF関数でエラー対策するより圧倒的に簡単です
VLOOKUP関数などの参照系関数との組合せがベスト
IFERROR関数はVLOOKUP関数などの参照系関数とも相性抜群です
理由は参照系の関数の目的が探しているキーワードが範囲内にあればその結果を表示する
該当しなければエラーを返すという仕組みだからです
感のいい人はもう分かったと思いますが、検索するということはエラーになる可能性はたくさんある訳です
つまり、エラーになったら「該当なし」などのように表示できれば簡単なシステムにできる訳です
そう考えるとたくさんエラーを返す可能性が高い「参照系関数との相性はめっちゃいい」そう思いませんか?
それでは具体的な例を見てみましょう
こんな感じで「月間の天気傾向」という一覧表の中から天気によって「日数を自動で取得」したい場合は、VLOOKUP関数がベストな選択です
ところが、天気の種類に「雷」など一覧表に載っていない項目があると「載っていないからエラーだよ」という判断になってしまいます
そこで、IFERROR関数と組合せるとで簡易的な検索システムが出来ます
今回は対策としてこんな感じにしてみました
こんな感じで天気の種類から検索出来ない時の対策をしておけば便利ですよね
応用が効く使い方なので是非活用してみて下さい
繰り返しになりますが、ISERROR関数はVLOOKUP関数などの参照系関数とも相性抜群です
オススメのExcel関数の解説書 5選
関数を本で学ぶ時は次に上げるものがオススメです
本を購入をオススメしている理由と各本の紹介に関して、下記の記事で詳しく解説しているので合わせて読んでみてください
コメントを残す