目次
このチュートリアルでは、新しいIFS関数について学び、ExcelでネストされたIFをいかに簡単に書くことができるかを確認します。 また、その構文といくつかの使用例も紹介します。
ExcelのネストされたIFは、2つ以上の可能な結果を持つ状況を評価したい場合によく使われます。 ネストされたIFで作成されたコマンドは、「IF(IF())」のようになります。 しかしこの古い方法は、時に困難で時間がかかる場合があります。
Excelチームは最近、あなたの新しいお気に入りになりそうなIFS関数を導入しました。 Excel IFS関数は、Excel 365、Excel 2021、Excel 2019でのみ利用可能です。
Excel IFS関数 - 説明と構文
ExcelのIFS関数は、1つ以上の条件が成立しているかどうかを示し、最初のTRUE条件を満たす値を返します。 IFSは、Excelの複数のIF文の代替となり、複数の条件がある場合には、より読みやすくなっています。
関数はこんな感じです。
IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]...)2つの必須引数と2つの任意引数を持ちます。
- 論理テスト1 は必須引数で、TRUEまたはFALSEと評価される条件である。
- value_if_true1 は第二引数であり、logical_test1 が TRUE と評価された場合に返される結果を示す。 必要に応じて空でもよい。
- logical_test2...logical_test127 は、TRUE または FALSE と評価されるオプションの条件である。
- value_if_true2・・・value_if_true127 は、logical_testN が TRUE と評価された場合に返す結果のオプション引数である。 各 value_if_trueN は、条件 logical_testN に関連する。 また、空であることもある。
ExcelのIFSでは、最大127種類の条件を評価できます。 logical_testの引数が特定の値_if_trueでない場合、「この関数の引数は少なすぎます」というメッセージを表示します。 logical_testの引数が評価されてTRUEまたはFALSE以外の値に対応した場合、ExcelのIFSは#VALUE!エラーを返します。 TRUE条件が見つからない場合は#N/Aと表示されます。
ExcelのIFS関数とネストされたIFの比較と使用例
新しいExcel IFSの利点は、1つの関数に一連の条件を入力できることです。 各条件の後に、その条件が真の場合に使用される結果が続くので、計算式を書くのも読むのも簡単です。
例えば、ユーザーが既に持っているライセンス数に応じて割引を受けたい場合を考えてみましょう。 IFS関数を使うと、次のようになります。
=IFS(B2>50, 40, B2>40, 35, B2>30, 30, B2>20, 20, B2>10, 15, B2>5, 5, TRUE, 0)
ExcelでネストされたIFを使うとこんな感じです。
=IF(B2>50, 40, IF(B2>40, 35, IF(B2>30, 30, IF(B2>20, 20, IF(B2>10, 15, IF(B2>5, 5, 0)))) ))
以下のIFS関数は、Excelの多重IFに相当するものよりも、記述や更新が簡単です。
=IFS(A2>=1024 * 1024 * 1024, TEXT(A2/(1024 * 1024), "0.0") & " GB", A2>=1024 * 1024, TEXT(A2/(1024 * 1024), "0.0") & " Mb", A2>=1024, TEXT(A2/1024, "0.0") & " Kb", TRUE, TEXT(A2, "0") & " bytes")
=IF(A2>=1024 * 1024 * 1024, TEXT(A2/(1024 * 1024), "0.0") & " GB", IF(A2>=1024 * 1024, TEXT(A2/(1024 * 1024)) & " Mb", IF(A2>=1024, TEXT(A2/1024, "0.0") & " Kb", TEXT(A2, "0") & " bytes") ))