Googleスプレッドシートで「点数が高い人にはA、低い人にはD」など、条件に応じて結果を変えたいこと、ありますよね。
こうした複数条件の分岐処理に使える代表的な関数が IF関数
と IFS関数
です。
なかでも IFS関数
は、「IFの入れ子構造で迷子になる…」といった悩みをスマートに解決してくれる強力な味方。
この記事では、
- IFS関数の基本構文と使い方
- IF関数との違いとメリット
- 実務でよく使う具体例
- エラー時の対処法
をわかりやすく解説します。
IFS関数とは?
IFS関数
は、複数の条件を上から順に判定し、最初にTRUEになった結果を返す関数です。
基本構文
=IFS(条件1, 結果1, 条件2, 結果2, ... )
たとえば
=IFS(A2>=90, "A", A2>=75, "B", A2>=60, "C", A2<60, "D")
この式では、A2の値が90以上なら「A」、75以上なら「B」…と順に評価して、最初に条件を満たした結果が返ってきます。
IF関数との違いとIFSのメリット
IF関数だとどうなる?
=IF(A2>=90, "A", IF(A2>=75, "B", IF(A2>=60, "C", "D")))
このように入れ子(ネスト)構造で複数条件を判定するため、式が長くなりやすく、どこがどの条件なのか分かりづらくなります。
IFS関数なら?
=IFS(A2>=90, "A", A2>=75, "B", A2>=60, "C", TRUE, "D")
条件と結果をセットで並べるだけ。シンプルで読みやすく、管理しやすいのが最大の利点です。
特に「条件が4つ以上ある」「後から条件を追加・修正したい」場合に、IFS関数のメンテナンス性の高さが効いてきます。
実務で使えるIFS関数の具体例
例1|テストの点数で評価を分ける
=IFS(B2>=90, "A", B2>=75, "B", B2>=60, "C", TRUE, "D")

※最後に TRUE, "D"
を入れておくことで、すべての条件に該当しない場合の「その他」対応もできます。
例2|売上金額でランクを分ける
=IFS(B2>=1000000, "S", B2>=800000, "A", B2>=500000, "B", TRUE, "C")

例3|勤務時間で勤務区分を分類
名前 | 時間 | 区分 |
---|---|---|
石井 | 9 | フルタイム |
木村 | 6 | パート |
青木 | 11 | 超過勤務 |
=IFS(B2>8, "超過勤務", B2>=7, "フルタイム", TRUE, "パート")

※条件が重なる場合は、上にある条件が優先されます。
よくあるエラーとその対処法
すべての条件がFALSEで「#N/A」が出る
IFS
関数では、どの条件もTRUEにならないと#N/Aエラーになります!
【対策】
最後に TRUE, "その他"
を追加しておくのがベストです。
順序ミスで期待通りの結果が出ない
IFS関数は上から順に評価され、最初にTRUEになったものが返るため、条件の順番を間違えると意図と異なる結果になることがあります。
【対策】
範囲の広い条件(例:>=60など)は下の方に書くようにしましょう。
まとめ|IFS関数で複雑な条件もすっきり整理
IFS関数
は複数条件の処理をスマートに記述できるIF関数
より読みやすく、ミスが少ない- 実務では、評価・ランク・勤務区分などの分類に活躍
TRUE
を最後に書けば「その他」にも対応できる
複雑なIFの入れ子構造で悩んでいた方は、ぜひIFS関数を試してみてください。
数式が驚くほどすっきりして、メンテナンスも楽になりますよ!