IFS関数の詳細解説(Excel)2(研究編)

1. イントロダクションとIFS関数の基本概念

参考

IFS関数の詳細解説(Excel)1(基本編)
ExcelのIFS関数の使い方 ExcelのIFS関数は、複数の条件を設定し、それぞれの条件に対応した値を返すことができる関数です。今回は、IFS関数の使い方とサンプルについて解説していきます。 IFS関数の書式 IFS関数の書式は以下のよ...

Excelの新たな関数であるIFS関数は、複数の条件式に基づいて結果を返す非常に便利な機能です。これにより、以前はIF関数を入れ子にすることで実現していた複雑な条件分岐を、よりシンプルで直感的に実現することが可能になりました。この記事では、IFS関数の基本概念から具体的な使い方まで、初級~中級者向けにわかりやすく解説していきます。

IFS関数は、次の構文で使用します。

=IFS(論理式1, 値が真の場合1, 論理式2, 値が真の場合2, ...)

引数は以下の通りです。

  • 論理式:TRUEまたはFALSEに評価される条件です。
  • 値が真の場合:論理式がTRUEに評価された場合に返される結果です。空にすることができます。

IFS関数は、複数の条件式とそれに対応する結果を順番に指定し、最初に満たされた条件式に対応する結果を返します。もし、どの条件式も満たさない場合には、#N/Aエラーが返されます。

例えば、以下のような表があるとします。

ABC
1点数成績—-
280
365
450

この表のB列に、点数に応じた成績を表示したいとします。以下のような条件分岐を行いたいと考えています。

  • 点数が80点以上なら「A」
  • 点数が70点以上なら「B」
  • 点数が60点以上なら「C」
  • それ以外なら「D」

この場合、IFS関数を用いて次のように記述することができます。

=IFS(A2 >= 80, "A", A2 >= 70, "B", A2 >= 60, "C", TRUE, "D")

この式は、次のように解釈されます。

  • A2が80以上の場合、「A」と表示
  • A2が70以上の場合、「B」と表示
  • A2が60以上の場合、「C」と表示
  • それ以外の場合、「D」と表示

この式をB2、B3、B4に適用すると、以下のような表が完成します。

ABC
1点数成績—-
280A
365C
450D

これで、点数に応じた成績が正しく表示されるようになりました。

このように、IFS関数を使用することで、複数の条件分岐を簡潔に表現できます。この機能を理解し活用することで、Excelでのデータ分析やレポート作成がさらに効率的になるでしょう。

次の章では、IFS関数の基本的な使用方法を、具体的なサンプルと数式を用いてさらに詳しく解説していきます。さまざまなシーンでIFS関数がどのように活用できるかを学びましょう。

2. IFS関数の基本的な使用方法

IFS関数の基本的な使用方法を理解するために、具体的なサンプルと数式を用いて解説していきます。以下のサンプルデータを用意しました。

ABC
1名前年齢年齢区分
2山田34
3田中25
4鈴木28

この表では、名前と年齢が記録されており、年齢区分を求めることを目的とします。年齢区分は以下のように分けられるものとします。

  • 29歳以下は「若者」
  • 30歳以上49歳以下は「中年」
  • 50歳以上は「シニア」

まず、IFS関数を使用して年齢区分を求める式を作成します。

=IFS(B2 <= 29, "若者", B2 <= 49, "中年", B2 >= 50, "シニア")

この式をC2、C3、C4に適用すると、以下のような表が完成します。

ABC
1名前年齢年齢区分
2山田34中年
3田中25若者
4鈴木28若者

これで、年齢に応じた年齢区分が正しく表示されるようになりました。

次に、日付形式の値を扱う例を見てみましょう。以下のサンプルデータを用意しました。

ABC
1名前生年月日年齢区分
2山田1988/07/14
3田中1997/11/30
4鈴木1994/02/22

この表では、名前と生年月日が記録されており、年齢区分を求めることを目的とします。年齢区分は以下のように分けられるものとします。

  • 29歳以下は「若者」
  • 30歳以上49歳以下は「中年」
  • 50歳以上は「シニア」

生年月日から年齢を計算するために、DATEDIF関数を使用します。以下の式で年齢を求めることができます。

=DATEDIF(B2, TODAY(), "Y")

さらにIFS関数を使用して年齢区分を求める式を作成します。

=IFS(DATEDIF(B2, TODAY(), "Y") <= 29, "若者", DATEDIF(B2, TODAY(), "Y") <= 49, "中年", DATEDIF(B2, TODAY(), "Y") >= 50, "シニア")

この式をC2、C3、C4に適用すると、以下のような表が完成します。

ABC
1名前生年月日年齢区分
2山田1988/07/14中年
3田中1997/11/30若者
4鈴木1994/02/22若者

これで、生年月日に応じた年齢区分が正しく表示されるようになりました。

これらの例を通して、IFS関数の基本的な使用方法を学びました。次の章では、実務でよく使われる簡単な条件分岐のIFS関数の実例を見ていきましょう。

3. IFS関数での簡単な条件分岐の実例

この章では、実務でよく使われる簡単な条件分岐のIFS関数の実例を紹介します。IFS関数は、条件に応じて異なる値や文字列を表示させることができます。ここでは、以下の2つの実例を取り上げます。

  1. 成績に応じた評価の表示
  2. 売上に応じたランク付け

成績に応じた評価の表示

例えば、学生のテストの成績に応じて、評価をA、B、C、D、Fに分けるとします。下記の表は、学生の名前とテストの成績が記録された表です。

ABC
1名前成績評価
2山田85
3田中73
4鈴木50

評価の基準は以下の通りです。

  • 成績が90点以上は「A」
  • 成績が80点以上は「B」
  • 成績が70点以上は「C」
  • 成績が60点以上は「D」
  • 成績が60点未満は「F」

この条件分岐をIFS関数で表現すると、以下のようになります。

=IFS(B2 >= 90, "A", B2 >= 80, "B", B2 >= 70, "C", B2 >= 60, "D", B2 < 60, "F")

この式をC2、C3、C4に適用すると、以下のような表が完成します。

ABC
1名前成績評価
2山田85B
3田中73C
4鈴木50F

このように、IFS関数を使用することで簡単に成績に応じた評価が表示できます。

売上に応じたランク付け

次に、売上に応じて「Sランク」、「Aランク」、「Bランク」、「Cランク」の4つのランクに分ける例を考えます。下記の表は、営業員の名前と売上が記録された表です。

ABC
1名前売上ランク
2山田500000
3田中800000
4鈴木300000

ランク付けの基準は以下の通りです。

  • 売上が100万円以上は「Sランク」
  • 売上が50万円以上は「Aランク」
  • 売上が30万円以上は「Bランク」
  • 売上が30万円未満は「Cランク」

この条件分岐をIFS関数で表現すると、以下のようになります。

=IFS(B2 >= 1000000, "Sランク", B2 >= 500000, "Aランク", B2 >= 300000, "Bランク", B2 < 300000, "Cランク")

この式をC2、C3、C4に適用すると、以下のような表が完成します。

ABC
1名前売上ランク
2山田500000Aランク
3田中800000Aランク
4鈴木300000Bランク

これで、売上に応じたランク付けが表示されるようになりました。IFS関数を使用することで、売上のランク分けも容易に行うことができます。

このように、IFS関数はさまざまな状況で簡単な条件分岐を行い、結果を表示させることができます。実務で遭遇するデータに応じて、条件分岐をカスタマイズして使用することが可能です。これらの例を参考に、IFS関数を使って効率的なデータ処理を行いましょう。

4. IFS関数での複雑な条件分岐の実例

ここでは、IFS関数を使用して複雑な条件分岐を実現する実例を解説します。例として、営業成績に基づく売上ランクを計算し、ランクに応じたボーナスを計算するケースを紹介します。

まずはサンプルデータをご確認ください。

ABCD
1名前売上ランクボーナス
2山田4000000
3田中5000000
4鈴木3000000

この表では、営業マンの名前がA列に、売上がB列に記載されています。IFS関数を使ってC列にランクを付け、次にD列にボーナス額を計算します。

売上ランクを次の条件で分けます:

  • 売上が500万円以上の場合、「A」ランク
  • 売上が400万円以上の場合、「B」ランク
  • 売上が300万円以上の場合、「C」ランク
  • それ以外の場合、「D」ランク

C2セルに次のIFS関数を入力し、C列にランクを表示します。

=IFS(B2>=5000000, "A", B2>=4000000, "B", B2>=3000000, "C", TRUE, "D")

この式をC2:C4までの範囲にコピーします。

次に、ランクに応じたボーナス額を計算しましょう。ボーナス額は次の条件で決まります:

  • Aランクの場合、売上の10%
  • Bランクの場合、売上の5%
  • Cランクの場合、売上の3%
  • Dランクの場合、売上の1%

D2セルに次のIFS関数を入力し、D列にボーナス額を計算します。

=IFS(C2="A", B2*0.1, C2="B", B2*0.05, C2="C", B2*0.03, C2="D", B2*0.01)

この式をD2:D4までの範囲にコピーします。これで、各営業マンのランクに応じたボーナス額がD列に表示されます。

最終的な表は以下のようになります。

ABCD
1名前売上ランクボーナス
2山田4000000B200000
3田中5000000A500000
4鈴木3000000C90000

この実例では、IFS関数を使用して、営業マンの売上に基づいてランク付けを行い、さらにランクに応じたボーナス額を計算する方法を紹介しました。複雑な条件分岐が必要な場合でも、IFS関数を使えば簡単に処理できることがわかります。

ただし、条件がさらに増えると、IFS関数が非常に長くなり、管理が困難になることがあります。そのような場合は、他の関数(例:CHOOSE, VLOOKUP, INDEX/MATCH等)と組み合わせることで、より簡潔で管理しやすい方法があります。

今回紹介した複雑な条件分岐の実例を参考に、IFS関数を活用して、さまざまな業務上の課題を解決してみてください。

5. IFS関数と他の関数の組み合わせの実例

IFS関数は他のExcel関数と組み合わせることで、さらに多様なシーンで活用できます。ここでは、IFS関数と他のExcel関数(例:SUMIFS, COUNTIFS, AVERAGEIFS等)を組み合わせた実例を、サンプルと数式で紹介します。

例1:IFS関数とSUMIFS関数の組み合わせ

売上データから特定の条件を満たす商品の売上を合計する例を見てみましょう。

以下の表は、商品の売上データを示しています。

ABC
1商品名カテゴリ売上
2商品A食品1200
3商品B家電2500
4商品C食品3200
5商品D家電1500
6商品E食品1700

この表から、食品カテゴリの売上が合計2,000以上、家電カテゴリの売上が合計1,000以上の商品の売上を合計したいとします。IFS関数とSUMIFS関数を組み合わせることで、このような計算が可能です。

=IFS(
    B2="食品", IF(SUMIFS(C2:C6, B2:B6, "食品")>=2000, SUMIFS(C2:C6, B2:B6, "食品"), ""),
    B2="家電", IF(SUMIFS(C2:C6, B2:B6, "家電")>=1000, SUMIFS(C2:C6, B2:B6, "家電"), "")
)

この式をG2に入力すると、条件に応じた売上合計が表示されます。

例2:IFS関数とCOUNTIFS関数の組み合わせ

学生の成績データから、特定の条件を満たす学生の数をカウントする例を見てみましょう。

以下の表は、学生の成績データを示しています。

ABC
1名前クラス成績
2山田A80
3田中B75
4鈴木A90
5佐藤B65
6高橋A85

この表から、クラスAの学生で成績が80以上、クラスBの学生で成績が70以上の学生の数をカウントしたいとします。IFS関数とCOUNTIFS関数を組み合わせることで、このような計算が可能です。

=IFS(
    B2="A", COUNTIFS(B2:B6, "A", C2:C6, ">=80"),
    B2="B", COUNTIFS(B2:B6, "B", C2:C6, ">=70")
)

この式をD2に入力し、D3, D4, D5, D6にコピーすると、条件に応じた学生の数が表示されます。

例3:IFS関数とAVERAGEIFS関数の組み合わせ

売上データから特定の条件を満たす商品の売上平均を計算する例を見てみましょう。

以下の表は、商品の売上データを示しています。

ABCD
1商品名カテゴリ売上評価
2商品A食品12004
3商品B家電25005
4商品C食品32003
5商品D家電15004
6商品E食品17005

この表から、食品カテゴリで評価が4以上の商品の売上平均、家電カテゴリで評価が4以上の商品の売上平均を計算したいとします。IFS関数とAVERAGEIFS関数を組み合わせることで、このような計算が可能です。

=IFS(
    B2="食品", AVERAGEIFS(C2:C6, B2:B6, "食品", D2:D6, ">=4"),
    B2="家電", AVERAGEIFS(C2:C6, B2:B6, "家電", D2:D6, ">=4")
)

この式をE2に入力し、E3, E4, E5, E6にコピーすると、条件に応じた商品の売上平均が表示されます。

以上の例からわかるように、IFS関数と他のExcel関数を組み合わせることで、さまざまな条件分岐に対応した計算が可能になります。これらの関数を活用することで、データ分析やレポート作成がより簡単かつ効率的に行えるようになります。

6. IFS関数を用いたデータ分析・レポート作成の実例

IFS関数は、データ分析やレポート作成においても非常に役立ちます。この章では、実際のデータ分析やレポート作成で活用できるIFS関数の具体的な実例を紹介します。

実例1: 売上データの分析

以下の表は、ある店舗の売上データです。

ABC
1日付売上金額曜日
22023/04/015000
32023/04/027000
42023/04/034000
52023/04/046000

このデータをもとに、曜日ごとの売上金額の合計を算出したいとします。IFS関数とSUMIFS関数を組み合わせることで、このような計算が可能です。

=IFS(
    C2="月", SUMIFS(B2:B5, C2:C5, "月"),
    C2="火", SUMIFS(B2:B5, C2:C5, "火"),
    C2="水", SUMIFS(B2:B5, C2:C5, "水"),
    C2="木", SUMIFS(B2:B5, C2:C5, "木"),
    C2="金", SUMIFS(B2:B5, C2:C5, "金"),
    C2="土", SUMIFS(B2:B5, C2:C5, "土"),
    C2="日", SUMIFS(B2:B5, C2:C5, "日")
)

この式をD2セルに入力し、D3, D4, D5にコピーすると、各曜日の売上金額の合計が表示されます。これにより、曜日ごとの売上動向を分析することができます。

実例2: 従業員の評価

以下の表は、ある企業の従業員の評価データです。

ABC
1名前目標達成率評価
2山田85%
3田中95%
4鈴木70%

このデータをもとに、目標達成率に応じた評価を付けたいとします。IFS関数を使用して、以下の条件に基づく評価を付けることができます。

  • 目標達成率が100%以上の場合は「優秀」
  • 目標達成率が90%以上の場合は「良い」
  • 目標達成率が80%以上の場合は「可」
  • それ以外の場合は「不可」

以下のIFS関数をC2セルに入力します。

=IFS(
    B2 >= 1, "優秀",
    B2 >= 0.9, "良い",
    B2 >= 0.8, "可",
    B2 < 0.8, "不可"
)

この式をC3, C4にコピーすると、各従業員の評価が表示されます。これにより、目標達成率に基づいた評価を簡単に行うことができます。

7. まとめ

この記事では、IFS関数の基本的な概念、使用方法、条件分岐の実例、他の関数との組み合わせの実例、データ分析やレポート作成での活用例を紹介しました。IFS関数は、さまざまな場面での条件分岐を効率的に行うことができるため、Excelでの作業を大幅に効率化できます。

ぜひ、実務でIFS関数を活用して、より効率的なデータ処理や分析を行ってください。