IF関数とISERROR関数を組み合わせてワークシートの関数エラーを表示させない方法

Excelでワークシート上に関数を設定しておくと、関数エラーとなる場合はよく見受けられます。
(関数エラーの詳細や対策については過去記事をご参照ください)

Excel(エクセル)関数エラー7種類の原因と対策まとめ | Excelを制する者は人生を制す ~No Excel No Life~

関数エラーになると、

  • ワークシート自体の見栄えが悪くなる
  • ほかの関数までエラーになる

という弊害があります。

今回はIF関数とISERROR関数を組み合わせて、そんな関数エラーを表示させないようにする方法について解説していきたいと思います(・∀・)

ISERROR関数でエラーを表示させないように設定する方法

IF関数の論理式をISERROR関数を用いることで、セルの内容がエラー値になった場合に真(TRUE)の場合としてエラーに変わりに表示したい値を設定しておくことができます。

一般的には“”[ブランク]0が見栄えが良いと思います。

ISERROR関数

ISERROR関数はセルの内容がエラー値(#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、または#NULL!)の場合にTRUEを返す関数です。
【関数の構成】ISERROR(テストの対象)

サンプル前提条件

  • B列に入力した内容をもとにC列の金額がVLOOKUP関数で自動入力
  • VLOOKUP関数の参照元はH4:I9
  • E列はC列とD列を乗算(掛け算)して合計金額を算出
  • B・D列はそれぞれ手入力が前提で本来はブランク状態にしておきたい
  • C・E列をB・D列がブランクであったとしてもエラーが出ないようIF関数+ISERROR関数をそれぞれ設定する
  • [真の場合]は””[ブランク]
  • [偽の場合]はそれぞれもともと入力されていた数式

下記記事で使用したサンプルへの追記となります。

VLOOKUP関数の可変性を持たせる組み合わせまとめ | Excelを制する者は人生を制す ~No Excel No Life~

使用例

IF関数+ISERROR関数組み合わせ①

上図が元々の状態になります。
前提条件の通りVLOOKUP関数が設定されています。

IF関数+ISERROR関数組み合わせ②

B列(正確にはB4:B9)の値を消去すると、C・E列の数式が「#N/A」のエラー値になりました。

まずはC列の数式からエラーが出ないようIF関数とISERROR関数を数式内に加筆します。

IF関数+ISERROR関数組み合わせ③

IF関数の[論理式]として、「ISERROR(VLOOKUP関数)」を設定し、[真の場合]は””[ブランク]に、[偽の場合]はVLOOKUP関数にします。

そうすることで今回のサンプルでは、B列がブランクの場合、C列もブランクになります。

IF関数+ISERROR関数組み合わせ④

続いて、E列の数式に目を移すと、先程までは「#N/A」のエラー値になっていましたが、「#VALUE!」のエラー値に変わっています。

E列の数式を構成しているC列が「#N/A」の場合は、E列も「#N/A」、C列が””[ブランク]の場合は乗算が成立しないためE列は「#VALUE!」になります。

こちらも先ほどと同じようにIF関数とISERROR関数を数式内に加筆します。

IF関数+ISERROR関数組み合わせ⑤

IF関数の[論理式]として、「ISERROR(C列×D列)」を設定し、[真の場合]は””[ブランク]に、[偽の場合]はC列×D列にします。

こちらもE列もブランクになりました。

IF関数+ISERROR関数組み合わせ⑥

C4セルとE4セルの数式をそれぞれ9行目まで数式をコピー&ペーストし、D列の値を消去すれば新たに入力する用のテンプレートにすることができます。

IF関数+ISERROR関数組み合わせ⑦

[Ctrl]+[Shift]+@でセル内の数式を表示すると上図の通りになります。

Excelで数式をワークシートに表示するショートカットキー( [Ctrl]+[Shift]+@) | Excelを制する者は人生を制す ~No Excel No Life~

注意点

ISERROR関数を組み合わせるとかなり数式が長くなるので難しいですが、あくまでもIF関数内の[論理式]の部分がISERROR関数となることを意識すると理解しやすいです。

うまく関数が動かない時は次のポイントを注視してみましょう。

  • ISERROR関数の”)”[かっことじ]が抜けている
  • ISERROR関数の”)”[かっことじ]の後にIF関数の[論理式]の後の”,”[カンマ」が抜けている
  • ISERROR関数内の[論理式1]と[論理式2]の間の”,”[カンマ」が抜けている
  • IF関数の”,”[カンマ」が多い
  • IF関数の[偽の場合]の後に”,”[カンマ」と文字列やセル番地が入力されている
  • IF関数・ISERROR関数の[論理式]の””[ダブルクォーテーション]が抜けている
  • IF関数・ISERROR関数の[論理式]の等号・不等号が抜けている、入力誤り(=>など、”=”[イコール]が先に入っているなど
  • ISEEROR関数内に他の関数を入れる場合は、その関数の”,”[カンマ」や()[かっこ]が抜けている、または多い

他の関数と組み合わせる場合は、数式の入力ミスを防ぐためにも、IF関数とISERROR関数を最初からいっしょに入力するのではなく、他の関数が思う通りに動作するかを確認した上で、IF関数とISERROR関数を加筆するようにすると、不要なチェックが減りますよ(・∀・)

まとめ

この組み合わせには本当にお世話になりました。

しかし、Excel2010であれば、このIF関数とISERROR関数の組み合わせと同じ効果で、数式の入力をもっとシンプルにできるIFERROR関数が用意されましたので、今はこちらを積極的に使用しています。

次回以降は、このIFERROR関数について解説したいと思います(・∀・)

この記事が気に入ったら
いいね ! しよう