Excelで評価・売上ランク・進捗状況などを判定するとき、IF関数を何重にも重ねて入力していませんか? 条件が多いなら、IFS関数を使うと数式を短く読みやすくできます。私も複数条件の判定式を修正するときは、まずIFS関数で書けるか確認しています。
結論:条件が2つ以上ならIFS関数、条件が少なければIF関数を使います
IFS関数は、複数の条件を上から順番にチェックする関数です。最初に条件を満たした時点で判定が終わるため、条件は基本的に厳しい基準・高い数値から順に並べるのがポイントですよ。
一方、IF関数は「ある条件を満たすか、満たさないか」の2択を処理する基本関数です。条件が1つだけならIF関数、評価ランクのように3段階以上へ分岐させるならIFS関数を選ぶと分かりやすいですね。
IFS関数の基本的な使い方
IFS関数の書式は次のとおりです。
=IFS(条件1, 条件1がTRUEの場合の結果, 条件2, 条件2がTRUEの場合の結果, …)
たとえば、B2セルの点数を「A・B・C・D」の4段階で評価する場合は、次の数式を使えます。
=IFS(B2>=90,"A",B2>=70,"B",B2>=50,"C",TRUE,"D")
- B2が90以上なら「A」を表示します。
- 90未満でB2が70以上なら「B」を表示します。
- 70未満でB2が50以上なら「C」を表示します。
- どの条件にも当てはまらない場合は「D」を表示します。
最後のTRUE,"D"は、いわゆる「それ以外」の指定です。空欄や予想外の値をどう扱うか決めておくと、#N/Aエラーを防ぎやすくなります。
セルにIFS関数を入力する手順
- 判定結果を表示したいセルをクリックします。例ではC2セルを選びます。
- 数式バー、または選択したセルに「=IFS(」と入力します。
- 最初の条件を入力します。点数が90点以上なら「B2>=90」と入力します。
- 半角カンマを入力し、結果として「"A"」を入力します。
- 同じように「B2>=70,"B"」「B2>=50,"C"」を続けて入力します。
- 最後に「TRUE,"D")」を入力し、Enterキーを押します。
- C2セル右下の小さな四角にマウスポインターを合わせ、下へドラッグして数式をコピーします。
文字を結果として表示したいときは、Aや完了などの文字を必ず半角のダブルクォーテーションで囲みましょう。数値を返すだけなら、たとえば「100」のようにダブルクォーテーションは不要です。
IFS関数とIF関数の違い
IF関数でも複数条件の判定はできます。ただし、IF関数を重ねるほど、カッコの対応や修正箇所が分かりにくくなります。
同じ評価判定をIF関数で書くと、次のようになります。
=IF(B2>=90,"A",IF(B2>=70,"B",IF(B2>=50,"C","D")))
この数式でも正しく動きますが、条件が増えると閉じカッコが多くなります。IFS関数なら条件と結果を横並びで確認できるので、あとから「B評価を75点以上に変更したい」といった修正もしやすいですよ。
- IF関数:条件が1つ、または2択の判定に向いています。
- IFS関数:3段階以上の評価、ランク分け、状態表示に向いています。
- 共通点:指定した条件に応じて、セルに表示する結果を変えられます。
- 大きな違い:IFS関数は最初にTRUEになった結果だけを返し、以降の条件は確認しません。
実務で使いやすいIFS関数の例
売上金額をランク分けする
D2セルの売上金額が10万円以上なら「達成」、5万円以上なら「あと少し」、それ以外なら「要確認」と表示する例です。
=IFS(D2>=100000,"達成",D2>=50000,"あと少し",TRUE,"要確認")
期限までの日数で対応状況を表示する
E2セルに期限日が入っている場合、TODAY関数と組み合わせると今日を基準にした表示ができます。
=IFS(E2<TODAY(),"期限切れ",E2=TODAY(),"本日期限",E2<=TODAY()+3,"残り3日以内",TRUE,"余裕あり")
期限切れを最優先で表示したいので、過去の日付を判定する「E2<TODAY()」を先頭に置いています。条件の並び順が結果に直結するため、ここは特に注意しましょう。
IFS関数がうまくいかない場合のチェックポイント
#N/Aと表示される
#N/Aは、指定した条件のどれにも当てはまらないときに出やすいエラーです。最後に「TRUE, 結果」を入れて、「それ以外」の処理を追加しましょう。
- 例:=IFS(B2>=90,"A",B2>=70,"B",TRUE,"C")
- 空欄を空欄のままにしたい場合:=IFS(B2="","",B2>=90,"A",TRUE,"B")
結果が想定と違う
条件の順番を確認してください。たとえば「B2>=50」を先に書くと、90点も50点以上と判定されてしまい、AではなくCが返ります。数値の判定では、90点以上、70点以上、50点以上のように、大きい値から小さい値へ並べます。
関数名が認識されない、#NAME?になる
IFS関数はExcel 2019以降、Microsoft 365などで使えます。古いExcelでは利用できないことがあるため、その場合はIF関数をネストして対応しましょう。また、関数名は半角で「IFS」と入力し、区切り記号は通常の日本語版Excelでは半角カンマを使います。
文字列なのにダブルクォーテーションを付けていない
「達成」「未達」「A」などの文字を直接表示する場合は、"達成"のようにダブルクォーテーションで囲みます。ただし、別のセルを参照する場合は「F2」のようにセル番地だけを指定します。
数値が文字列として入力されている
見た目は数字でも、セル左上に緑の三角が出ている場合は文字列の可能性があります。数値比較が期待どおりに動かないときは、対象セルを選択して警告アイコンから「数値に変換」をクリックしてください。先頭にアポストロフィが付いている場合も削除しましょう。
最後に覚えたい時短ワザ:数式の確認とコピーを速くする方法
IFS関数を入力したあとは、数式を素早くコピーできる操作も覚えておくと便利です。
- F2キー:選択中セルの数式を編集します。マウスで数式バーをクリックする手間を減らせます。
- Ctrl+Enter:複数セルを選択して数式を入力したあとに押すと、選択したすべてのセルへ同じ数式を一括入力できます。
- Ctrl+D:選択範囲の一番上のセルにある数式・値を、下方向へコピーします。
- Ctrl+`:計算結果ではなく数式そのものをシートに表示します。条件やセル参照の確認に便利です。もう一度押すと元に戻ります。
まずは小さな表でIFS関数を試し、条件を上から順に読む習慣を付けましょう。IF関数との使い分けができるようになると、評価表や進捗管理表の修正がぐっと楽になりますよ。
