情報整理術の数々! PICK UP!

【シリーズ:一昔前のExcel(エクセル)で停滞している方へ】進化し続けるエクセルのIF関数を紐解く(その2)

前回は、エクセル2007から追加された「IF」系の関数の内
「SUMIFS」関数を使って、リストから様々な検索データに基づく売上の合計金額を算出してみました。

今回は、算術処理というよりは、エラー処理を扱う関数になります。
数式や関数の結果にエラーが発生する場合に分岐処理ができる
「IFERROR」関数
について見ていきたいと思います。

Excel2007から追加された「IFERROR」関数

エクセルのバージョンアップで、最も変更の大きかった
「エクセル2003からエクセル2007へのバージョンアップ」
において、この「IFERROR」関数の追加も非常に興味を引く内容となりました。

それはなぜかと言うと、「IFERROR」関数の追加によって
「関数式の作成工程を減らせるようになった」
からです。

では、「IFERROR」関数の登場は、関数のヘビーユーザーにどのようなメリットを与えてくれたのでしょうか。

それには、エクセル2003までエラー処理を行う関数であった
「ISERROR」関数
も一緒に見ていく必要があるのです。

「ISERROR」関数の使い方

実際に、「ISERROR」関数を使ったデータを確認してみましょう。

上の表では、単純な計算式を作成しています。
A列の数字をB列の数字で除算しているだけですが、1行目は0で除算しているため結果としてエラーが表示されてしまいます(セルC1)。

このように、何かしらのエラーが表示される場合を見越してエラー処理をしておく場合に、
「ISERROR」関数
を使います。

セルD1には、「=ISERROR(C1)」という関数が入力されています。
つまり、計算結果となる「C1」のセルがエラーとなるか、ならないかを表示しているのです。

そして、E列には、「ISERROR」関数の結果から、「IF」関数で処理を分岐した値が表示されます。

=IF(D1,”式を確認してください”,”○”)

セル「D1」がTRUEなら(エラーなら)、メッセージを表示させ、
FALSE(エラーではない)であれば、「○」と表示させます。

シートに関数を埋め込んで、「ユーザーにシートを使わせる」ような場合は、
ユーザーの誤入力などに対する処理を行う工程は重要となるわけですが、その際にこの「ISERROR」関数はよく使われてきたわけです。

最後は以下のように関数を1つで記述するのが一般的でしょう。

「IF」関数の条件式に「ISERROR」関数を組み合わせるわけですね。

さて、この「ISERROR」関数を使う場合の難点は、やはり
「関数式が長くなる」
不便さでしょう。

2つの関数を組み合わせ、さらに条件分岐が多くなると、「IF」関数がネスト状態となり、数式が煩雑になります。

そこで登場した関数が、「IFERROR」関数なのです。

「IFERROR」関数の使い方

「IFERROR」関数は、引数に「正常な場合の値」と「エラーが出る場合の値」を記述できます。

=IFERROR(A1/B1,”式を確認してください”)

最初の引数に、「セルA1をセルB1で割る式」、
2番目の引数に「式がエラーになった場合、”式を確認してください”」というメッセージを出力するようにしています。

「ISERROR」関数を使って、同じ様に結果を表示した式を作成してみました。
上の「IFERROR」関数と見比べてみると式の長さが一目瞭然ですね。

「ISERROR」関数は、エラーの判定を「TRUE」か「FALSE」でしか結果を返せなかったので、
その判定を元に、最終的に「IF」関数で処理する必要があったのですが、
「IFERROR」関数は、求めたい結果もエラーの場合に処理したい結果もそのまま「値」で返せるようになったので、
関数式がコンパクトに記述できるようになったのです。

続きは次回

関数はもちろん、プログラミングの世界でもエラー処理を行う場面は必ず存在します。
「ISERROR」を始め「IS~」系のエラー処理をする関数は、とても効率が悪くて
私自身、自作で関数を作って処理していた頃もありました。

それに比べれば、「IFERROR」関数の登場で、関数でのエラー処理も少しは楽になったのかもしれませんね。

さてさて、次回はエクセル2010から追加された集計用の関数「AGGREGATE」関数にスポットを当ててみたいと思います。

どうぞお楽しみに!

関連記事

  1. Excelのスキルを図る企業の入社テストを実際にやってみた【6】

  2. 【シリーズ:人より一歩先行くエクセル技を身につける】ピボットテーブル編②

  3. 【シリーズ:一昔前のExcel(エクセル)で停滞している方へ】IFNA関数はどう使う?

  4. 【シリーズ:人より一歩先行くエクセル技を身につける】ピボットテーブル編④

  5. 【シリーズ:一昔前のExcel(エクセル)で停滞している方へ】IF関数では対応できなかった進化した条…

  6. 【シリーズ:人より一歩先行くエクセル技を身につける】ピボットテーブル編⑤

  7. エクセルに標準搭載された3Dマップを活用する![その3]―ツアー動画をYouTubeにアップしてみる…

  8. 【シリーズ:一昔前のExcel(エクセル)で停滞している方へ】FORMULATEXT関数はどう使う?…

  9. エクセルに標準搭載された3Dマップを活用する![その1]―地図上へのデータ表示・表示方法の編集を操作…

特集記事!

  1. [CLOVA Note]LINEの音声認識AI搭載で音声データを楽々テキスト化!…
  2. [Teams]自分だけが使うチャットでチャット操作をマスター&アカウントに注意
  3. 【スクリブルがiPadOS15から日本語対応に】メモアプリはApplePenci…
  4. こんなに簡単!おしゃれで自分好みのロゴを作成できる「DesignEvo」が秀逸す…
  5. メールアプリ「Spark」の便利機能その10ー複数で1つのメールアドレスを管理す…
  6. 続・iPadで使うカレンダー:新しい予定表の作成や公開を設定してみる
  7. 街を愛する地域ポータルサイト!個人的に好きな10サイトを選んでみた!(1位~3位…
  8. 街を愛する地域ポータルサイト!個人的に好きな10サイトを選んでみた!(4位~10…
  9. 会社を退職したいけどできない!退職代行サービスの利用で失敗しない方法とは
  10. 自社でメールマガジンを配信したい!メール配信サービス徹底比較6選

人気記事 PickUp!

おすすめ記事

ピックアップ!

  1. Slackとの連携にも必須!Trelloでチームを作成する方法
  2. [slack]24.slackに設定したOneDrive上のMicrosoft3…
  3. [slack]25.メインのメールや予定表にOutlookを使っているならsla…
  4. 【シリーズ:一昔前のExcel(エクセル)で停滞している方へ】進化し続けるエクセ…
  5. 【連載番外】Lucidchartでロジカルシンキングに使う図面を3つ選んでみた
  6. iPadでブログ記事を執筆中!記事内に挿入する画像を編集するならどのアプリを使う…
  7. iPadの時短技3選!無駄な時間を省いて効率よく作業しよう
  8. [slack]28.チャットではカバーしきれない分散される情報をStockで拾う…
  9. [slack]29.チャットではカバーしきれない分散される情報をStockで拾う…
  10. [連載]Windows・Android・iPadOSの異なる環境でメールを同期す…

PAGE TOP