【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。毎週木曜日更新。
過去の記事一覧はこちら【エクセル時短まとめ】

セルの値によって異なる結果を求める。Excelでよく行う作業ですね。

従来、複数の条件を判定したい場合は「IF」(イフ)関数の組み合わせ、つまりネストすることで求めていました。これがExcel 2016では、「IFS」(イフエス)関数によって1つの関数で行えます。

エクセル時短】第16回では、Excel 2016の新関数「IFS」を解説します。
※IFS関数はExcel 2016に加えて、Office 365の定額制サービスを購入している場合に利用できます

「論理式」と「真の場合」のセットを複数指定

さっそくIFS関数の構文を見てみましょう。

IFS (論理式1, 真の場合1, 論理式2, 真の場合2, ..., 論理式127, 真の場合127)

論理式1]に指定した条件式を満たせば[真の場合1]、[論理式2]に指定した条件式を満たせば[真の場合2]...、と指定します。[論理式]と[真の場合]のセットは127個まで指定できます。

ここでは、試験結果が「90」以上であれば「出荷可」、「80」以上であれば「再検査」、それ以外は「開発中止」と表示する例を紹介します。

1IFS関数を入力する

エクセル時短:新関数「IFS」で複数の条件指定を手早く済ます

セルD3に「=IFS(C3>=90,"出荷可",C3>=80,"再検査",TRUE,"開発中止")」と入力します。

2入力したIFS関数をコピーする

エクセル時短:新関数「IFS」で複数の条件指定を手早く済ます

判定の結果が表示されました。入力した関数式をコピーします。

IFS関数の注意点は、最初の[論理式]に一致した場合、続きの[論理式]は判定されないことです。

上の例のように数値を判定する場合は、厳しい条件から順に指定しないと、思い通りの結果が得られません。例えば「=IFS(C3>=80,"再検査",C3>=90,"出荷可")」のように指定すると、セルC3が「80」以上の場合、すべて「再検査」と表示されてしまいます。

どの条件も満たさない場合の結果を指定するには、最後の[論理式]に「TRUE」と指定します。ここでは「TRUE,"開発中止"」と指定しました。

Excel 2013以前ではどうなる?

上記と同じことをExcel 2013以前のバージョンで行うとどうなるのか、見てみましょう。

IF関数をネストして入力することになりますが、考え方は簡単です。IF関数の「偽」の条件に、続きの条件を指定するだけです。IFS関数と同じ結果を得るためには、セルF3に「=IF(C3>=90,"出荷可",IF(C3>=80,"再検査","開発中止"))」と入力します。

セルC3の値が「90」以上であれば「出荷可」と表示し、そうでなければ、「偽」の条件に指定した「IF(C3>=80,"再検査","開発中止")」が判定がされる形です。

1IF関数を入力する

エクセル時短:新関数「IFS」で複数の条件指定を手早く済ます

Excel 2013以前のバージョンではIFS関数が使えないため、IF関数を使って「=IF(C3>=90,"出荷可",IF(C3>=80,"再検査","開発中止"))」と入力します。

2入力したIF関数をコピーする

エクセル時短:新関数「IFS」で複数の条件指定を手早く済ます

判定の結果が表示されました。入力した関数式をコピーします。

なお、Excel 2016でIFS関数を入力し、そのファイルをExcel 2013以前のバージョンで開いた場合、IFS関数を含む数式は「=_xlfn.IFS(C3>=90,"出荷可",C3>=80,"再検査",TRUE,"開発中止")」のように変換され、結果のみが表示されます。

Excel 2016では「複数の条件指定はIFS」と覚えておきましょう!