注目キーワード

Excel(エクセル)のIFS系関数を使いこなせ!

IFS系関数で判定・集計作業をさらに自動化する

前回はIF系関数を紹介しました。IF系関数を使うと判定や・集計作業を自動化できます。

今回はIF系関数の応用編でIFS系の関数を紹介します。紹介するのは次の3つです。

  1. IFS関数
  2. COUNTIFS関数
  3. SUMIFS関数

IF系関数はこちらで使い方を紹介しています。

Excel(エクセル)のIF系関数を使いこなせ!

IF系関数は、判定に使用する条件を1つしか指定できませんでしたが、IFS系関数では複数の条件を指定することができます。IFS系関数を使用すると複雑な判定や集計もできるようになります。

 

IFS関数

IFS関数の概要

IFS関数は入力された値を複数の論理式でどれに当てはまるか判定し、判定結果により表示内容を変えることができます。

IFS関数の文法は次のようになります。

=IFS( 論理式1, 真の場合1, 論理式2, 真の場合2, …, 論理式127, 真の場合127)
対応しているエクセルのバージョン:「2016」,「2019」,「365」

条件判定は引数の前の方から順番に行います。先に判定が必要な論理式は前に書く必要があります。

論理式は、演算子などを使用して条件を設定します。セル「A1」の条件を判定する時の論理式の例をいくつか見てみましょう。

論理式 演算子の意味 論理式の意味
A1 = 3 等しい A1の値が3である
A1 <> 3 等しくない A1の値が3以外
A1 > 3 より大きい A1の値が3より大きい
A1 >= 3 以上 A1の値が3以上
A1 < 3 より小さい A1の値が3より小さい
A1 <=3 以下 A1の値が3以下

※赤字が演算子

例えば、論理式を「AI = 3」とした場合は、A1のセルに「3」が入力された場合は「真の場合の表示」に設定した内容が表示されます。それ以外の場合は「偽の場合の表示」に設定した内容が表示されます。

IFS関数の使用例

IF関数を使用して、テストの結果から「優」「良」「可」「不可」を自動で判定することを考えてみましょう。

判定条件は80点以上なら「優」、70点以上なら「良」、50点以上なら「可」、それ以外なら「不可」とします。

IFS関数1

赤字で囲んだ部分にIFS関数が入力されています。一番上のD2のセルの式は次のようになります。

 

=IFS( C2>=80, “優”, C2>=70, “良”,C2>=50, “可”, TRUE, “不可”)
引数の先頭から、優の論理式、優だった時の表示内容、良の論理式、良だった時の表示内容、可の論理式、可だった時の表示内容、不可の論理式、不可だった時の表示内容となっています。不可だったときの論理式の「TRUE」はセルが空白でなければ、論理式の条件を満たすという意味になります。
IF関数でも同じことをできますが、次のようにネストをするため分かりにくい表記となってしまいます。
=IF( C2>=80, “優”, IF( C2>=70, “良”, IF( C2>=50, “可”, “不可”)))
関数の可読性や保守性を向上させるにはIFS関数を使った方が良いでしょう。
また、相対参照に表記なのでD3~D11まではD2をコピーすれば自動で関数が挿入できます。

COUNTIFS関数

COUNTIFSの概要

COUNTIFS関数は指定した複数の条件を満たしたデータの数を表示する関数です。

COUNTIFS関数の文法は次のようになります。

=COUNTIFS( 範囲1, 条件式1, 範囲2, 条件式2,… 範囲127, 条件式127 )

条件式は、色々な指定の仕方ができます。

  • カウントしたいデータ値
  • 条件式
  • ワイルドカード

ワイルド―カードは次のように使うことができます。。

記号 意味 使用例

(アスタリスク)
1文字以上の任意の文字列 A* : 「A」で始まる文字列
*A* : 「A」を含む文字列
*A : 「A」で終わる文字列

(疑問符)
任意の1文字 A? : 「A」で始まる2文字
?A? : 「A」を含む3文字
?A : 「A」で終わる2文字

COUNTIFS関数の使用例

COUNTIFS関数を使用して、セミナー参加者の性別や年齢層を分析してみましょう。

COUNTIFS関数

 

COUNTIF関数では性別と年齢層を別々にしか集計できませんでしたが、COUNTIFS関数を使えば、性別と年齢層の両者の条件に一致した参加者をカウントすることができます。

セミナー参加者の10の名簿から参加者の属性を分析します。

「男性」かつ「10代」の参加者の人数を抽出する方法を考えていきます。

性別はC列なので、この中で「男性」という条件を設定します。

年齢はD列から年代の集計が必要となります。こちらは少し分かりにくいので詳しく解説します。

10代ならば、10~19歳の合計を出せばよいので、「10歳以上、かつ、19歳以下」という条件式を入れれば良いことになります。しかし、COUNTIFS関数は条件式で、AND関数やOR関数が使えないので少し工夫が必要です。そこで、「10歳以上の合計」を「19歳を超える人の合計」から引くという形でCOUNTIFS関数を使います。
「男性」かつ「10代」の男性を指定するには、「10歳以上の男性の合計」を「19歳を超える男性の合計」から引くという形でCOUNTIFS関数を使うことになります。
10代男性:=COUNTIFS($C:$C, G$2, $D:$D, “>=10”) – COUNTIFS($C:$C, G$2, $D:$D, “>19”)
注意点は論理式もダブルコーテーションで囲う「” “」ことが必要です。
絶対参照と相対参照を適切に設定していますので、10代女性はこれをコピーするだけで大丈夫です。また、20~60代も年齢の設定のところだけ変更すれば設定できます。

SUMIFS関数

SUMIFSの概要

SUMIFS関数は指定した複数の条件を満たす値のみを合計することができる関数です。

SUMIFS関数の文法は次のようになります。

=SUMTIFS( 合計範囲, 範囲1, 検索条件1, 範囲2, 検索条件2,… 範囲127, 検索条件127 )

「範囲」は、条件判定を行うセルの範囲を指定します。

「検索条件」はCOUNTIFSと同様に色々な指定の仕方ができます。

  • 条件のデータ値
  • 条件式
  • ワイルドカード

SUMIFS関数の使用例

店舗とECサイトで食料品と日用品を販売をしていて、売上データがひとつのデータとしてまとまっているとします。

店舗とECサイトで食料品と日用品の売上の合計を算出してみましょう。

SUMIFS関数

 

B列が販売元の「店舗」と「EC」が情報がある列です。C列が製品カテゴリで「食料品」と「日用品」の情報がある列です。

G2のセルにSUMIFS関数を使って「店舗」で「食料品」が売れた金額を合計を出していますので、実際の式を見てみましょう。

店舗で食料品が売れた金額:=SUMIFS( $D:$D, $B:$B, $F3, $C:$C, G$2 )
第1引数は合計したい値(売上)のD列を指定しています。
第2引数は1つ目の条件(販売元)の範囲のB列を指定し、第3引数は1つ目の条件(店舗)を指定しています。
第4引数は2つ目の条件(製品カテゴリ)の範囲のC列を指定し、第5引数は2つ目の条件(食料品)を指定しています。
絶対参照と相対参照を適切に設定していますので、他の条件はこの式をコピーすれば自動で計算することができます。

まとめ

今回はエクセルで使えると便利なIFS系関数を紹介しました。

IFS系関数はIF系関数を応用した関数と言えるため、まずはIF関数を理解しましましょう。

Excel(エクセル)のIF系関数を使いこなせ!

その上で、IFS系を使用すると理解が深まります。

IFS系関数はIF系関数よりさらに便利な関数ですので、ぜひ使い方をマスターしましょう。