更新日:、 作成日:

エクセル 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(条件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 関数」にまとめています。