エクセル IFS 関数:複数の条件の数だけ処理を分岐する

はじめに

エクセルの IFS 関数の使い方を紹介します。

IFS 関数は複数の条件の数だけ処理を分岐します。「IF 関数」を複数の分岐に対応させたものです。

=IFS(A1<10,"10未満",A1<20,"10代",TRUE,"20以上") のようにして、セルの値が 10 未満のときは 10未満、20 未満のときは 10代、それ以外のときは 20 以上 を表示できます。

=IFS(AND(A1="エクセル",B1=365),"Excel365") のようにして、複数条件にしてセル「A1」が エクセル かつセル「B1」が 365 のときは Excel365 を表示できます。

複数条件にしたり、3 つ以上に分岐できます。

値によって取得する結果を分岐するには「SWITCH 関数」を使用します。
この関数は 365 または 2019 から使用できます。
  • 目次
    • IFS 関数の引数
    • 使い方
    • 高度な使い方、複数条件
    • 解説

IFS 関数の引数

IFS(条件1, TRUE の処理1)
IFS(条件1, TRUE の処理1, 条件2, TRUE の処理2 …)
最初に条件を満たしたものに対応するTRUE の処理を返します。

引数「条件」条件を比較演算子を使って指定します。スピル化
引数「TRUE の処理」対応する引数「条件」を満たすときに返す値を指定します。数値、文字列、セル参照、関数などを指定できます。スピル化

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

引数「条件」

使用できる比較演算子には次のものがあります。

演算子 演算名 使用例 結果
=等しい1=2FALSE
<>等しくない1<>2TRUE
>大きい1>2FALSE
<小さい1<2TRUE
>=以上1>=2FALSE
<=以下1<=2TRUE

使い方

IFS 関数は次の図のような処理になっています。条件を満たしたらそれに対応する引数「TRUE の処理」を返して終わりです。満たしていないときに次の条件を評価します。条件の数だけ分岐できます。

1

値が 10 未満か 10 代かそれ以上か分岐する

  • 値が 10 未満なら 10未満 を表示します。
  • 値が 20 未満なら 10代 を表示します。
  • それ以外なら 20以上 を表示します。
=IFS(B3<10,"10未満",B3<20,"10代",TRUE,"20以上")

最初に B3<10,"10未満" の判定が行われ、条件に一致しないときに次の B3<20,"10代" の判定が行われます。

条件を TRUE にして「それ以外」のときの処理ができます。

6

値が 100 か 80 以上かそれ以上か分岐する

  • 値が 100 なら A を表示します。
  • 値が 80 以上なら B を表示します。
  • それ以外なら C を表示します。
=IFS(B3=100,"A",B3>=80,"B",TRUE,"C")
7

値がエクセルかワードか分岐する

  • 値が エクセル なら EXCEL を表示します。
  • 値が ワード なら WORD を表示します。
  • それ以外なら空文字 "" を表示します。
=IFS(B3="エクセル","EXCEL",B3="ワード","WORD",TRUE,"")
8

高度な使い方、複数条件

IFS 関数と他の関数を組み合わせた使い方などを紹介します。

AND 条件

名前が エクセル かつバージョンが 365 なら値を表示します。それ以外はエラーになります。「AND 関数」を使用して、複数条件の「かつ」を判定できます。

=IFS(AND(B3="エクセル",C3=365),D3)

引数「条件」に「AND 関数」を入力します。

9

OR 条件

名前が エクセル またはバージョンが 365 なら値を表示します。それ以外はエラーになります。「OR 関数」を使用して、複数条件の「または」を判定できます。

=IFS(OR(B3="エクセル",C3=365),D3)

引数「条件」に「OR 関数」を入力します。

10

スピルで AND 条件

AND 関数」は「スピル」されないので、スピルには使用できません。

スピルで AND 条件を入力するには条件を掛け算します。条件を () で囲む必要があります。

(条件1)*(条件2)

名前が エクセル でバージョンが 365 かスピルで判定します。

=(B5:B8="エクセル")*(C5:C8=365)

結果が TRUE のときは 1、FALSE のときは 0 になります。

これを引数「条件」に入力して、条件を満たすときに値を表示します。それ以外は空文字 "" を表示します。

=IFS((B5:B8="エクセル")*(C5:C8=365),D5:D8,TRUE,"")
11
スピルについて詳しくは「スピル、動的配列数式の使い方」をご覧ください。
スピルは 365 または 2021 から使用できます。

数式を Ctrl + Shift + Enter で確定すると「配列数式」になり、すべてのバージョンで使用できます。

スピルで OR 条件

OR 関数」は「スピル」されないので、スピルには使用できません。

スピルで OR 条件を入力するには条件を足し算します。条件を () で囲む必要があります。

(条件1)+(条件2)

名前が エクセル またはバージョンが 365 かスピルで判定します。

=(B5:B8="エクセル")+(C5:C8=365)

結果が TRUE のときは 1 以上、FALSE のときは 0 になります。

これを引数「条件」に入力して、条件を満たすときに値を表示します。それ以外は空文字 "" を表示します。

=IFS((B5:B8="エクセル")+(C5:C8=365),D5:D8,TRUE,"")
12
スピルについて詳しくは「スピル、動的配列数式の使い方」をご覧ください。
スピルは 365 または 2021 から使用できます。

数式を Ctrl + Shift + Enter で確定すると「配列数式」になり、すべてのバージョンで使用できます。

解説

引数「条件」の結果が TRUE なら、対応する引数「TRUE の処理」を返します。

引数「条件」に TRUE を入力して、「それ以外」のときに引数「TRUE の処理」を返します。

文字列を =<> から比較するとき、大文字と小文字を区別しません。"ABC"="abc" は TRUE になります。「EXACT 関数」を使用して大文字小文字を区別できます。

引数「条件」に「AND 関数」や「OR 関数」を入力して複数条件にできます。

引数「条件」の結果が数値のときは 0 なら FALSE、それ以外なら TRUE として扱います。

引数「条件」の結果が文字列のときはエラー #VALUE! になります。

引数「条件」がエラーのときは、そのエラーになります。

すべての引数「条件」の結果が FALSE のときはエラー #N/A になります。

文字列かどうかや空白など、特定の値を条件にする方法は「COUNTIF 関数」にまとめています。