Microsoft Excelの最も便利な機能の1つにIF-THEN文があります。IF-THEN文は、条件が真であるかどうかに基づいて計算を実行したり、テキストを表示したりするために使用されます。このチュートリアルでは、簡単な比較から複数の条件のテストまで、便利なIF-THEN式の書き方をご紹介します。例題やトラブルシューティングのヒントなどをお読みください!
IF-THEN 構文
-
=IF(logical_test, value_if_true, value_if_false).IF文は、条件が真か偽かに基づいて論理比較を行います。
- logical_test:テストしたい条件(必須)。
- value_if_true: logical_testがtrueの場合に返したい値(必須)。
- value_if_false:logical_testがtrueでない場合に返したい値(オプション)。
簡単な例
-
=IF(B3>C3, "Goal Met", "Goal Not Met").
- この例では、条件はB3>C3であり、"B3の値がC3より大きい場合 "を意味する。
- もしB3の値がC3より大きければ、Goal Metがセルに表示される。
- B3の値がC3の値より小さければ、Goal Not Metと表示される。
-
=IF(B3=C3, "Goal Met").
- この例では、条件はB3=C3であり、"B3の値がC3の値と等しい場合 "を意味する。
- 値が等しければ、セルに "Goal Met "と表示される。
- もし値が等しくなければ、3番目の値(ELSE)を定義していないので、フィールドにゼロが表示される。
-
=IF(B3*2>C3, C3*400, "Good").
- この例では、条件はB3*2>C3であり、"B3に2を掛けた値がC3の値より大きければ "という意味である。
- B3*2の値がC3の値より大きければ、C3に400を掛けた値がこのセルに表示される。
- B3*2の値がC3の値より大きくない場合、セルには「Good」と表示される。
-
=IF(B3="Sold", "1", "")
- この例では、条件はB3="Sold "であり、"セルB3の値にSoldという単語が含まれていれば "という意味である。
- B3に "Sold "という単語が含まれていれば、セルに "1 "が表示される。
- B3に "Sold "以外の文字があれば、条件は偽となる。ELSEの値は" "であり、これは2つのダブルクォーテーションで、その間に何もないので、セルの値は空白になる。
-
=IF(D3="Taxed", F3*.07, "0")。
- この例では、条件はD3="Taxed "で、"D3の値がTaxedの場合 "を意味する。
- もしD3が "Taxed "という単語を含んでいれば、結果はF3の値に0.07を掛けたものになる。
- D3が "Taxed "以外を含む場合、結果は0となる。
-
覚えておくべきこと
- IF文は2つの異なる結果を持つことができます。1つは条件が真の場合の結果、もう1つは条件が偽の場合の結果です。
- ELSE 値は、結果が偽の場合にどうなるかを示すもので、省略可能である。セルを空白にしたい場合は、ELSE値を「"」にします。
- 条件やTHEN/ELSE値で特定のテキストを参照する場合は、必ずそのテキストを引用符で囲んでください。
複数の条件のテスト
-
1つの数式に最大64個のIF/THEN文を入れ子にすることができます。例えば、アラスカ州、カリフォルニア州、オレゴン州、ワシントン州で購入した商品の消費税を計算する数式を作成するとします。これら4つの州はそれぞれ税率が異なるので、4つの条件をテストするために4つのIF/THEN文を含む数式を作成する必要があります。販売額が G1 で、購入者の州が F1 であるとすると、4 州の 2022 年税率を使用した計算式は次のようになります:
- =IF(F1="Alaska", G1*0,IF(F1="California",G1*0.0725,IF(F1="Oregon",G1*0,IF(F1="Washington", G1*0.065))))
-
多くのIF/THEN文を入れ子にするのは難しいことです。非常に長い数式は別として、非常に長いIF/THEN文を作成することは、頻繁に変更しなければならない場合、面倒になるかもしれません。先ほどの例では、州の税率が変わるたびにIF/THEN文を更新する必要がありました。
- このような状況では、IF/THEN文の代わりに、1つのテーブルに値を追加し、そのテーブルに適切な税率を問い合わせるのが良いでしょう。
- 例えば、A列に州のリストを追加し、B列に対応する税率を追加すれば、計算式自体に金額を指定することなく、VLOOKUP計算式を書くことができます。上記の入れ子になったIF/THEN式の短縮版は、=G1*VLOOKUP(F1,A:B,2,TRUE)となります。
- 税率を更新する必要がある場合は、すべての数式ではなく、参照されるテーブルの税率だけを更新すればよいことになります。
トラブルシューティング
-
結果がゼロ(0)である。これは、value_if_true引数またはvalue_if_false引数に値を指定していないことを意味します。
- value_if_falseの値を指定しなかった場合、条件が偽であれば結果は常に0になります。
-
結果は#NAME?これは構文エラーであることを示します。=の後の式を括弧で囲み、引数をカンマで区切り、プレーンテキストが引用符で囲まれていることを確認してください。
- 例えば、このIF/THEN文は、値OKを引用符で囲んでいないため、#NAME?エラーとなります:=IF(A2>1,OK)。
- 正しい構文は =IF(A2>1, "OK") です。
コメント
最新を表示する
NG表示方式
NGID一覧