IFS関数:複数の条件を順に調べて真の場合に値を返す

IFS 関数は Excel で用意されている関数の一つで、引数に指定した論理式が TRUE の時は値を返し、偽のときは次の論理式を調べて TRUE の時は値を返し、偽のときは次の論理式を調べて、を繰り返します。ここでは Excel における IFS 関数の使い方について解説します。

※ Excel の対応バージョン : 365 web 2021 2019

(Last modified: )

IFS関数の定義

IFS 関数は引数に指定した複数の論理式を順次評価し TRUE になった時に値を返します。

IFS(論理式1,TRUEの場合,論理式2,TRUEの場合,・・・)

1 番目の引数に TRUE か FALSE を返す論理式を指定します。論理式が TRUE だった場合に返す値を 2 番目の引数に指定し、論理式が FALSE だった場合は次の論理式を評価するということを引数に指定した分だけ繰り返します。

IFS関数の定義(1)

例えば対象のセル( B2 )の値が 90 よりも大きい場合は "LEVEL1" 、そうでない場合にセルの値が 80 よりも大きい場合は "LEVEL3" と値を返すようにするには IFS 関数を次のように記述します。

=IFS(B2>90,"LEVEL1",B2>80,"LEVEL2")
--> LEVEL1

すべての論理式がFALSEになった場合に値を返す

IFS 関数の注意点として最後の論理式でも FALSE になった場合、 IFS 関数は #N/A エラーを返します。もしすべての論理式で FALSE の場合でも値を返したい場合は最後の論理式として TRUE を記述することで論理式が必ず TRUE となるため、そのあとに記述した値が返されます。

すべての論理式がFALSEになった場合に値を返す(1)

実際には次のように記述します。

=IFS(B2>90,"LEVEL1",B2>80,"LEVEL2",TRUE,"LEVEL3")
--> LEVEL1

この場合、セルの値が 90 より大きければ "LEVEL1" 、セルの値が 80 より大きければ "LEVEL2" 、セルの値が 80 以下なら "LEVEL3" を返します。

IFS関数の使い方

それでは実際に IFS 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

IFS関数の使い方(1)

結果を表示する D3 セルを選択し、次のように入力しました。 IFS 関数の 1 番目の引数に条件分岐で使用する 1 番目の論理式として C3>80 を記述し、 1 番目の論理式が TRUE だった場合に返す値として 2 番目の引数に "合格" を指定しました。

次に 1 番目の論理式が FALSE だった場合に使用する 2 番目の論理式として C3>60 を 3 番目の引数に記述し、 2 番目の論理式が TRUE だった場合に返す値として 4 番目の引数に "追試" を指定しました。

最後にどちらも FALSE だった場合の値を記述するために、 5 番目の引数として TRUE を記述し、返す値として 6 番目の引数に "不合格"を指定しました。

=IFS(C3>80,"合格",C3>60,"追試",TRUE,"不合格")

IFS関数の使い方(2)

Enter キーを押すと、 D3 セルには次のように表示されます。

IFS関数の使い方(3)

対象の値に対して IFS 関数の引数に指定した論理式が TRUE となるかどうか順に確認していき、 TRUE になった場合はその次の引数に指定した値を返しました。

同じように D4 セルから D7 セルに対しても同じように IFS 関数を入力すると次のように表示されました。

IFS関数の使い方(4)

※ 論理式を記述するときに使用する比較演算子については「比較演算子と算術演算子の利用」を参照されてください。

IFS関数の便利な利用方法

IFS 関数の便利な利用方法を下記の記事で紹介しています。

-- --

Excel における IFS 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。