IFSで分岐を整理する
重ねたIF文を、読みやすいIFS関数に置き換えます。
「IFSで分岐を整理する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
IFの入れ子が重なる問題
1つのIFで処理できるのは、二者択一の判断です。しかし、たとえば点数をAからFの評価に変換するなど、結果が複数ある場合はどうでしょうか。その場合は、IFの中に別のIFを何度も入れ子にする必要があります。
入れ子が重なると、読みづらく、壊れやすくなり、閉じ括弧の数を数えるのも難しくなります。IFS関数は、まさにこの問題を解決するために作られました。条件と結果のペアを、すっきりと平らに並べて記述できます。
入れ子になったIFの見た目
これは、入れ子になったIF関数で成績を判定する数式です。それぞれのIFが、偽の場合の分岐として別のIFを持っています。
動作はしますが、末尾に閉じ括弧が積み重なり、論理の流れを追いにくいことに注目してください。4つではなく8つの分岐を使う数式を保守する場面を想像してみてください。
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", "F")))IFSの構文
IFS関数は、条件と、その条件が真の場合に返す値という引数のペアを受け取ります。上から下へ、順番に条件を確認します。
- test1, value1 test1が真の場合はvalue1を返します
- test2, value2 それ以外でtest2が真の場合はvalue2を返します
最初に真になった条件の値を返し、そこで処理を終了します。最大127組まで連結できます。
=IFS(test1, value1, test2, value2, ...)成績の数式を書き換える
これは、同じ成績判定のロジックをIFSで記述したものです。各行がすっきりした条件と結果のペアになっており、閉じ括弧が積み重なることもありません。
IFSはまず90、次に80、そして70を確認します。最初に真になった条件が採用されます。入れ子になった数式と比べると、同じ処理をしながら、はるかに読みやすくなっています。
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", A2>=60, "D")順序が重要
IFSは最初に真になった条件の結果を返すため、条件を確認する順序が重要です。範囲を判定する場合は、最も限定的な条件から最も広い条件へ並べます。
成績の順序を逆にして、先にA2>=60を確認すると、95点は誤ってDになります。95は60より大きく、そのペアが先にあるためです。区分は必ず、高いほうから低いほう、または低いほうから高いほうへ、一貫した順序で慎重に並べてください。
=IFS(A2>=90, "A", A2>=80, "B")キャッチオールを追加する
どの条件も真でない場合、IFSは#N/Aエラーを返します。これを避けるには、条件を単純にTRUEとした最後のキャッチオールのペアを追加します。
TRUEは常に真なので、IFの最後のelse分岐のように機能します。次の数式では、60未満のスコアは最後のペアまで処理が進み、Fを返します。
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", TRUE, "F")例題:配送区分
A2の注文重量によって配送ラベルが決まるとします。1 kg未満はSmall、5 kg未満はMedium、20 kg未満はLarge、それ以上はFreightです。
次のIFSの数式では、各区分を順番に並べ、最も重いケースに対応するためにTRUEのキャッチオールを使っています。重量は、いずれかの範囲に一致するまで各区分と順に比較されます。
=IFS(A2<1, "Small", A2<5, "Medium", A2<20, "Large", TRUE, "Freight")ANDとORを組み合わせる
IFSの各条件には、ANDやORを含む任意の論理テストを指定できます。これにより、複数の要素を組み合わせた複雑な分岐を作成できます。
次の例では、顧客のランクを割り当てています。支出額が1000を超え、かつ会員であればGold、支出額が500を超えるか会員であればSilver、それ以外はStandardです。
=IFS(AND(A2>1000, B2="Yes"), "Gold", OR(A2>500, B2="Yes"), "Silver", TRUE, "Standard")不正な引数に注意する
IFSでは、引数をペアで指定します。つまり、すべての条件の後には、その条件に対応する値を指定する必要があります。よくあるエラーは、結果を指定し忘れたり、余分なカンマを追加したりして、引数のペアが崩れることです。
- 誤り:
=IFS(A2>=90, "A", A2>=80)最後の条件に値がありません - 正しい:
=IFS(A2>=90, "A", A2>=80, "B")
エラーが発生した場合は引数の数を数えてください。引数の数は必ず偶数になります。
=IFS(A2>=90, "A", A2>=80, "B")IFSとSWITCH
各分岐が範囲や異なるテストなどの比較である場合、IFSが適しています。一方、1つの値を固定された完全一致の選択肢のリストと照合する場合は、SWITCH関数のほうがすっきり書けることがよくあります。
覚え方としては、範囲やさまざまな条件にはIFSを使い、同じセルを複数の完全一致の値と比較する場合はSWITCHを使います。コースの後半でSWITCHを学習します。
IFSが重要な理由
IFS関数を使うと、深くネストされたIF文を、条件と結果のペアを読みやすく並べた形式に置き換えられます。値が複数のカテゴリのいずれかに分類される場合に、特に役立つ関数です。
次の点を習慣にしてください。
- 最初に真になった条件が採用されるため、条件の順序を慎重に決める
#N/Aを避けるために、TRUEのキャッチオールを追加する- 引数をペアにし、数を偶数にする
それでは、簡単な確認問題に挑戦しましょう。
確認問題
IFS関数の動作について理解度を確認しましょう。
まとめ:IFSによる分岐の整理
IFSを使うと、条件と結果のペアを並べた形式で複数の結果に対応でき、読みにくいネストしたIFの数式を置き換えられることを学びました。
- 構文:
=IFS(test1, value1, test2, value2, ...) - 最初に真になった条件の結果を返すため、条件の順序が重要です
- 最後に
TRUE, "default"を指定して、それ以外のすべてのケースを処理します - 条件には
ANDやORを含められます
これで、AND、OR、NOT、IFSを組み合わせた条件の作成を習得しました。よくできました。
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", TRUE, "F")AI チューターと学ぶ Excel — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「IFSで分岐を整理する」レッスンは無料ですか?
はい。「IFSで分岐を整理する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「IFSで分岐を整理する」で何を学びますか?
重ねたIF文を、読みやすいIFS関数に置き換えます。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「IFSで分岐を整理する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ANDですべての条件を要求する
- ORでいずれかの一致を受け入れる
- NOTで論理を反転する
- IFSで分岐を整理する