第1章: IF関数の基礎をおさらいしよう
Excelやスプレッドシートでは、指定した条件によって行う操作を切り替える「条件分岐」が大切な役割を果たします。この条件分岐を設定する際に頻出するのが「IF関数」です。
IF関数とは何か?
IF関数は、「もし○○ならば△△、そうでなければ□□」といった条件分岐を設定する関数です。具体的な構文は以下の通りです:
IF(条件式,真のときの値,偽のときの値)
これを訳すと、「もし条件式が真(TRUE)ならば、真のときの値を返し、そうでなければ(つまり、条件式が偽(FALSE)ならば)偽のときの値を返す」といった操作になります。
IF関数の基本的な使い方
例として、「売上が100万円を超えたらボーナスを出す」といったシナリオを考えてみましょう。この場合のIF関数の設定方法は以下の通りです:
IF(A1>1000000, “ボーナス!”, “ボーナスなし”)
この式では、セルA1の値(売上)が100万円を超えると”ボーナス!”、そうでなければ”ボーナスなし”と表示します。
このようにIF関数を使うと、様々な状況に応じた処理を一つのセルに記述できるので、表計算作業が大いにスムーズになるでしょう。
さて、このIF関数をもう少し複雑なシナリオに応用する方法については、次章で詳しく学んでいきましょう。
第2章: 複数の条件を組み合わせたIF関数の応用
IF関数は基本的に一つの条件式を扱いますが、更に複雑な条件分岐を必要とする場合はどうすれば良いでしょうか?このようなシナリオに対処するためには、AND関数やOR関数を組み合わせたIF関数の応用、あるいはネストされたIF関数を用いることがあります。
AND関数やOR関数を使ったIF関数の応用
AND関数とOR関数は、それぞれ「全ての条件が真であれば真を返す」、「少なくとも一つの条件が真であれば真を返す」といった論理演算を行います。これをIF関数と組み合わせることで、複数の条件を持つ条件分岐を実現できます。
たとえば、「売上が1000万円超でかつ利益率が10%以上であればボーナスを出す」というシナリオを考えてみましょう。この場合、IF関数とAND関数を組み合わせた式は以下のようになります:
IF(AND(A1>10000000, B1>=0.1), “ボーナス!”, “ボーナスなし”)
ここで、A1が売上、B1が利益率を示しています。この式では、売上が1000万円以上でかつ利益率が10%以上であれば”ボーナス!”を、そうでなければ”ボーナスなし”を出力します。
ネストされたIF関数での条件分岐のヒント
ネストとは、「入れ子」という意味で、IF関数を重ねて一つのセルに記述する方法を指します。
例えば、”売上が500万円未満ならば「見直し要」、500万円以上1000万円未満ならば「まずまず」、1000万円以上ならば「好調」という3段階評価を行いたい場合、ネストされたIF関数を使って次のように書けます:
IF(A1<5000000, "見直し要", IF(A1<10000000, "まずまず", "好調"))
このように、複数の条件に対して異なる結果を出力する場合には、ネストされたIF関数を使うことで解決できます。注意点としては、条件と結果のペアを正しくマッチさせることと、式が複雑になりすぎないようにしっかりとネストを管理することが重要です。
次章では、より多くの条件分岐をスマートに処理する「IFS関数」について解説しますので、お楽しみに。
第3章: IFS関数でよりスマートな条件分岐を
条件分岐が多くなると、ネストされたIF関数を用いると式が複雑になり読みづらくなる問題が発生します。この問題を解決するために生まれたのがIFS関数です。
IFS関数とは何か?その基本構造を理解
IFS関数は、複数の条件とそれに対応する結果を一つの関数で簡潔に記述できる関数です。具体的な構文は以下の通りで、条件と結果がペアとなっています:
IFS(条件1,結果1,条件2,結果2,….)
この構文は、「条件1が真(TRUE)なら結果1を、条件2が真なら結果2を…」といった形で順に評価されていきます。すべての条件が偽(FALSE)の場合はエラーを返します。
IFS関数を用いた多段階の条件設定
先ほどの「売上による評価」のシナリオをIFS関数で書くと、以前に比べて非常にシンプルになります。具体的にはこのように書くことができます:
IFS(A1<5000000, "見直し要", A1<10000000, "まずまず", A1>=10000000, “好調”)
この示例からIFS関数なら、各条件とそれに対応する結果が対で書けて一目見てわかりやすい事がわかります。また、評価は上から順に行われ、最初にTRUEになった条件の結果が返されるので、条件の順序にも注意が必要です。
なお、IFS関数はExcel2019以降、あるいはOffice365のバージョンで使えます。それ以前のバージョンでは利用できませんのでご注意ください。
それでは次の章では事前にエラーを潰す「IFERROR関数」の使用方法を解説します。IF関数シリーズの連携によるデータ処理の効率化に注目してみてください。
第4章: IFERROR関数でエラーを防ぎ賢く処理
IF関数、またはその派生形のIFS関数などは、必要な条件分岐を実現できる一方で、特定の条件が満たされなかった場合、エラーを返す可能性があります。ここでは、そんなエラー時の対処法として、IFERROR関数の活用方法について説明します。
IFERROR関数とは
IFERROR関数とは、指定した式の結果がエラー(#N/A,#VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, または #NULL!)だった場合、指定した値または式を返す関数です。エラーが返らない場合は、指定式の結果をそのまま返します。
具体的な構文は以下の通りです:
IFERROR(値,エラー時の値)
IFERROR関数を用いたエラーハンドリング
通常、Excelの関数でエラーが発生するとき、そのエラーメッセージが表示され、どの部分でエラーが存在するかを示します。しかしこれらのメッセージは、ビジネス文書やレポートなどとして提出する際には適切ではありません。ここで、IFERROR関数を使えば、エラーが発生したときに適切なメッセージや値を表示させることができます。
例えば、セルA1とB1を割り算する場合、B1が0のときはエラー(#DIV/0!)となります。このエラーを、例えば”割る数が0です”というメッセージに置き換えるには以下のように記述します:
IFERROR(A1/B1,”割る数が0です”)
実務で役立つIFERRORの活用例
実作業において、IFERROR関数の最も一般的な活用例として、VLOOKUP関数やMATCH関数といった、データ集合から特定の値を探し出す関数との組み合わせが挙げられます。これらの関数では、対象の値が存在しない場合にエラー(#N/A)を返しますが、IFERROR関数を使えば、「該当なし」等の適切なメッセージを表示させられます。
たとえば、セルA1に特定の値が含まれているかを調べ、含まれていればその住所を、含まれていなければ「該当なし」と表示する場合、以下のように記述します:
IFERROR(VLOOKUP(A1,データ範囲,3,FALSE),”該当なし”)
ここで、”データ範囲”は検索する範囲(例えばD1:F100)、3は”D1:F100″の中で3列目(つまりF列)に対応する値を指しています。
IFERROR関数を使うことで、エラー時のオプションを手元でコントロールでき、結果の表現をビジネスシーンに適した一つにすることができます。このスキルは、あらゆる場面で役立つはずです。
これであなたもIF関数の達人!次の章では更に具体的な被う場面から考える実践のシナリオを解説します。お楽しみに!
第5章: 実践!複雑な条件分岐を駆使したシナリオ演習
過去の4章で学んだ様々なIF関数の活用方法をバージョンアップさせるために、今回の章では実際のビジネスシーンであるシナリオにおける問題を通じて、IF関数の実践的な使い方を学んで行きましょう。また、各シナリオに対する練習問題を用意していますので、自分の理解度をチェックしながら確認してみてください。
ビジネスシーンでの具体的な活用例
「営業成績によるボーナス支給」
IF関数、AND関数、IFERROR関数を組み合わせることで、「売上が目標未達かつ評価ランクがC以下ならばボーナス無し、それ以外の場合はボーナス有り」というビジネスルールをスプレッドシート上で扱う事ができます。
以下に示す一例は、セルA1が売上、セルB1が評価ランクを表しています:
IF(AND(A1<8000000, B1=="C"), "ボーナス無し", "ボーナス有り")
この場合、「ボーナス有り」の評価が出る条件は2つ。売上が800万以上であるか、評価ランクがC以上であることです。いずれかの条件が満たされると、営業員はボーナスが支給されることになります。AND関数でパラメーターを1つにまとめ、IF関数で論理演算を行います。
ちなみになりますが、評価ランクが未入力の場合を考慮し、IFERROR関数を加えるとより良い形となるでしょう。IFERROR関数を加えた場合の式は次のようになります:
IFERROR(IF(AND(A1<8000000, B1=="C"), "ボーナス無し", "ボーナス有り"), "評価ランク未入力")
練習問題でIF関数のスキルを強化しよう
問題1: 「Aさんの試験の結果、70点以上ならば”合格”、それ以下で60点以上ならば”再試験”、それ以下ならば”不合格”と表示させる関数を作りなさい。」
問題2: 「商品Aの在庫が100以下ならば”注文要”、それ以上ならば”在庫有り”と表示させる関数を作りなさい。ただし、在庫数のセルが空白またはエラーの場合は”在庫データ誤り”と表示させなさい。」
これらの問題を自分で解いて、実際にスプレッドシート上で試してみてください。また、実際のお仕事でも様々な条件でデータを判断する場面が多々あります。表計算ソフトの強力なパートナーであるIF関数を、上手く使いこなして業務を効率化しましょう。
これでIF関数を用いた複雑な条件分岐の設定についての学習は完了です。お疲れ様でした!それでは、次回もまた新たなIT知識を共有する記事でお会いしましょう。期待してお待ち下さい。


コメント