IFS関数の使い方|複数の条件で段階分けする
※写真はイメージです
書き方はこれだけ
=IFS(条件1, 値1, 条件2, 値2, …, TRUE, それ以外のときの値)IFSは、条件を上から順に見ていって、最初に当てはまったところの値を返す関数です。「80点以上はA、60点以上はB…」のような段階分けを、IFを何重にも入れ子にしないで1つの式で書けます。最後に TRUE を置くと、「どれにも当てはまらないとき」の値になります。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
IF関数の入れ子との違い
| 書き方 | 式 |
|---|---|
| IFの入れ子 | =IF(B2>=80,"A",IF(B2>=60,"B",IF(B2>=40,"C","D"))) |
| IFS | =IFS(B2>=80,"A",B2>=60,"B",B2>=40,"C",TRUE,"D") |
結果は同じです。違うのは読みやすさで、IFSは閉じかっこが1つで済んで、条件と値が交互に並ぶので、あとから見ても迷いません。なので、今から覚えるならIFSでいいと思います。条件は127組まで書けます。
条件は「きびしい順」に並べる
よく使う例
| やりたいこと | 式 |
|---|---|
| 売上でランクを付ける | =IFS(C2>=1000000,"S",C2>=500000,"A",C2>=100000,"B",TRUE,"C") |
| 在庫の状態を出す | =IFS(D2=0,"欠品",D2<10,"少ない",TRUE,"あり") |
| 期限までの日数で色分けの文字 | =IFS(E2 |
| 2つの条件を両方満たすとき | =IFS(AND(B2>=80,C2="出席"),"合格",TRUE,"不合格") |
ただ、「1なら東京、2なら大阪」のように決まった値と一致するかだけなら、SWITCH関数(=SWITCH(A2,1,"東京",2,"大阪","その他"))のほうが短いです。
うまくいかないとき
1#N/A になる
どの条件にも当てはまっていません。
直し方最後に TRUE,"それ以外の値" を足します。
2#NAME? になる
IFSが使えない古いExcel(Excel 2016以前の買い切り版)です。
直し方IFの入れ子で書くか、Microsoft 365・Excel 2019以降で開きます。Googleスプレッドシートでは使えます。
3全部同じ評価になる
"80"80点数が文字列(左寄せ)で入っていて、数として比べられていません。
直し方点数の列を数値に直します(「区切り位置」や VALUE 関数)。
4思った評価にならない
条件の順番が逆で、先にゆるい条件に当てはまっています。
直し方「以上」は大きい数から、「以下」は小さい数から並べ直します。
サンプルファイルで試す
黄色のセルにIFSの式を入れて、「答え」のシートと比べてください。
よくある質問
IFS関数の使い方は?
=IFS(条件1,値1,条件2,値2,…) と、条件と値を交互に書きます。上から順に調べ、最初に当てはまった条件の値を返します。
IFSで「それ以外」を指定するには?
最後の条件に TRUE を書き、その後ろに値を書きます。例:=IFS(B2>=80,"A",B2>=60,"B",TRUE,"C")
IFSとIFの違いは?
IFSはIFを入れ子にしなくても複数の段階を1つの式で書けます。結果は同じで、読みやすさが違います。
IFSが使えません(#NAME?)
Excel 2016以前の買い切り版では使えません。IFの入れ子で書くか、Microsoft 365などで開いてください。
IFSは何個まで条件を書けますか?
条件と値の組は127組まで書けます。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報