複数の条件を簡潔に処理する「IFS関数」は、Excelユーザーにとって強力なツールです。

本記事では、複雑な条件分岐を簡単に解決するための「IFS関数」の使い方や活用術について紹介します。

チャット一括管理アプリ「OneChat」が今なら初月無料!!

OneChatのダウンロードはこちらから

Excel IFS関数の魅力を知ろう

excel ifs

Excel IFS関数の基本的な情報について理解していきましょう。

IFS関数の基本概要

IFS関数は、設定した条件に基づいて、条件に当てはまる場合に任意の値を表示させることができる関数です。IFS関数は、複数の条件を一つのIFS関数を用いて設定することができます。

IFS関数の基本的な書式は次の通りです。

=IFS(論理式1, 真の場合1, [論理式2, 真の場合2], …)

※IFS関数の引数(論理式と真の場合)の組み合わせは最大127個まで設定することができます。

項目内容
論理式真、または偽であるかを判定する条件を指定します。
真の場合引数1(論理式)で指定した値の条件を満たす場合(真である場合)に表示する値を指定します。

参考:IFS 関数 – Microsoft サポート

IF関数との違いと使い分け

IFS関数のように特定の条件を設定し、その条件を満たす場合(真である場合)に任意の値を表示させる関数として「IF関数」が挙げられます。

IF関数とIFS関数の違いや使い分けについてみていきましょう。

関数名IFS関数IF関数
書式=IFS(論理式1, 真の場合1, [論理式2, 真の場合2], …)=IF(論理式, 真の場合, 偽の場合)
指定可能条件数最大127個1個
利用可能バージョンMicrosoft 365、またはExcel 2019以降バージョンに制限なし

参考:IF 関数 – Microsoft サポート

Excel IFS関数の対応バージョン

Excel IFS関数は、利用できるExcelのバージョンに制限があります。

IFS関数を利用できるエクセルのバージョンを表にまとめたものが以下のものとなります。

20102013201620192021
買い切り×××
Microsoft 365(Office 365)

IFS関数の簡単な使い方を習得しよう

excel ifs

IFS関数の簡単な使い方について理解していきましょう。

IFS関数の構文と引数

まずは、IFS関数の構文について紹介します。

=IFS(論理式1, 真の場合1, [論理式2, 真の場合2], …)

IFS関数のそれぞれの引数は以下の通りです。

項目内容
論理式真、または偽であるかを判定する条件を指定します。
真の場合引数1(論理式)で指定した値の条件を満たす場合(真である場合)に表示する値を指定します。

IFS関数を使った基本的な例

以下のデータを用いて実際にIFS関数の使い方について理解していきましょう。

行\列ABCD
1日付伝票番号支店コード支店名
24月2日001103
34月5日002102
44月8日003104
54月11日004101
64月15日005102
74月18日006103
84月22日007101
94月25日008104
104月29日009103
114月30日010104

上記データの「支店コード」をもとに、対応した支店名を「D列」に入力するIFS関数の数式の作成をしてみます。

支店コード支店名
101大阪支店
102札幌支店
103名古屋支店
104福岡支店

まず、「D2」セルに以下のIFS関数の数式を入力しましょう。

=IFS(C2=101, “大阪支店”, C2=102, “札幌支店”,C2=103, “名古屋支店”, C2=104, “福岡支店”)

「C2」セルは「103」なので、対応した「名古屋支店」が表示されます。この数式をオートフィルを用いて「D11」セルまでコピーすることで、各支店コードに対応した支店名を表示させることができます。

行\列ABCD
1日付伝票番号支店コード支店名
24月2日001103名古屋支店
34月5日002102札幌支店
44月8日003104福岡支店
54月11日004101大阪支店
64月15日005102札幌支店
74月18日006103名古屋支店
84月22日007101大阪支店
94月25日008104福岡支店
104月29日009103名古屋支店
114月30日010104福岡支店

複雑な条件設定にも対応できるIFS関数の活用術

excel ifs

IFS関数は、複数の条件を設定できることが特徴です。それを生かした複雑な条件設定について紹介します。

複数の条件を順番に検証する方法

以下データを用いて、IFS関数により複数の条件を順番に検証する方法について解説します。

行\列ABCDE
1氏名点数評価評価基準
2佐藤 裕美子8390点以上
3鈴木 大輝4575点以上90点未満
4田中 美帆7750点以上75点未満
5高橋 健太郎3150点未満不可
6伊藤 瞳95
7渡辺 拓海22
8山本 美穂68
9中村 悠太50
10小林 美咲89
11加藤 大地74

上記データ内に入力されている点数をもとに、IFS関数を用いて対応する値を「評価」に入力します。

1.「C2」セルにIFS関数の数式の1つ目の条件を入力する

IFS関数に1つ目の条件である「点数が90点以上である」と設定します。また、論理式が真の場合に「良」が表示されるように設定します。第二引数の指定をセル参照で行う場合は、オートフィルでコピーした際に参照先がずれないように、絶対参照としましょう。

=IFS(B2>=90, $E$1,

2.残りの条件を同様に入力する

残りの3つの条件も同様に入力します。

=IFS(B2>=90, $E$2, B2>=75, $E$3, B2>=50, $E$4, B2<50, $E$5)

※上記数式の最後の引数である「B2<50」は「TRUE」で代用することができます。

論理式を「TRUE」で指定すると、「それまで入力した条件以外の場合」といった意味となります。

そのため、「それ以外の場合」を指定したい場合は論理式の最後を「TRUE」とし、その次に入力する引数を「どれにも当てはまらない場合(偽の場合)」を指定しましょう。

3.「C2」セル以下にオートフィルを用いてコピーする

入力できた数式を「C2」セル以下にコピーします。

行\列ABCDE
1氏名点数評価評価基準
2佐藤 裕美子83=IFS(B2>=90, $E$2, B2>=75, $E$3, B2>=50, $E$4, B2<50, $E$5)90点以上
3鈴木 大輝4575点以上90点未満
4田中 美帆7750点以上75点未満
5高橋 健太郎3150点未満不可
6伊藤 瞳95
7渡辺 拓海22
8山本 美穂68
9中村 悠太50
10小林 美咲89
行\列ABCDE
1氏名点数評価評価基準
2佐藤 裕美子8390点以上
3鈴木 大輝45不可75点以上90点未満
4田中 美帆7750点以上75点未満
5高橋 健太郎31不可50点未満不可
6伊藤 瞳95
7渡辺 拓海22不可
8山本 美穂68
9中村 悠太50
10小林 美咲89
11加藤 大地74

IFS関数でTRUEやFALSEを表示する方法

IFS関数でTRUEやFALSEの値を返す方法について紹介します。

比較を直接行い「TRUE」または「FALSE」を表示する

例えば、次のような数式の場合、値を直接比較して「TRUE」または「FALSE」を表示することができます。

=IFS(A2>100, TRUE, A2<=100, FALSE)

この例では、「A2」セルの値が100より大きい場合「TRUE」を表示し、その他の場合に「FALSE」が表示されます。

IF関数と組み合わせる

IFS関数とIF関数を組み合わせることで、条件に当てはまる場合に「TRUE」または「FALSE」を表示することができます。

 =IFS(IF(C1>10, TRUE, FALSE), TRUE, TRUE, FALSE)

上記数式の場合、「A2」セルの値が100より大きい場合「TRUE」、それ以外の場合に「FALSE」が表示されます。

IFS関数とAND, OR関数の相性抜群な組み合わせ

IFS関数により柔軟な条件の分岐やフィルタリングを設定して処理をさせたい場合は、AND関数やOR関数を組み合わせることにより実現することができます。

AND関数との組み合わせ

行\列ABCD
1担当者名商品Aの売上商品Bの売上評価
2三浦1,000,0001,600,000
3高田2,500,0003,400,000
4小林500,0002,200,000
5渡辺900,0001,500,000
6鈴木700,0003,100,000
7佐藤1,900,0002,800,000

上記担当者別売上データがあったとして、このデータをもとに以下の条件で評価を入力する関数を、IFS関数とAND関数の組み合わせにより作成してみましょう。

  • 「商品Aの売上が120万円以上」かつ「商品Bの売上が250万円以上」である場合は「A評価」
  • 「商品Aの売上が80万円以上」かつ「商品Bの売上が150万円以上」である場合は「B評価」
  • 「商品Aの売上が50万円以上」かつ「商品Bの売上が120万円以上」である場合は「C評価」

これらの条件をもとにIFS関数とAND関数を組み合わせて「D2」セルに入力する数式は以下のものとなります。

=IFS(AND(B2>=1200000, C2>=2500000), “A”, AND(B2>=800000, C2>=1500000), “B”, AND(B2>=500000, C2>=1200000), “C”)

また、今回は該当する項目はありませんが、上記IFS関数の最後の引数に「TRUE, “D”」を入力することで、条件外のデータに対しても評価を入力することができます。

=IFS(AND(B2>=1200000, C2>=2500000), “A”, AND(B2>=800000, C2>=1500000), “B”, AND(B2>=500000, C2>=1200000), “C”, TRUE, “D”)

行\列ABCD
1担当者名商品Aの売上商品Bの売上評価
2三浦1,000,0001,600,000B
3高田2,500,0003,400,000A
4小林500,0002,200,000C
5渡辺900,0001,500,000B
6鈴木700,0003,100,000C
7佐藤1,900,0002,800,000A

OR関数との組み合わせ

行\列ABCD
1担当者名商品Aの売上商品Bの売上評価
2三浦1,000,0001,600,000
3高田2,500,0003,400,000
4小林500,0002,200,000
5渡辺900,0001,500,000
6鈴木700,0003,100,000
7佐藤1,900,0002,800,000

上記担当者別売上データがあったとして、このデータをもとに以下の条件で評価を入力する関数を、IFS関数とOR関数の組み合わせにより作成してみましょう。

  • 「商品Aの売上が150万円以上」または「商品Bの売上が300万円以上」である場合は「A評価」
  • 「商品Aの売上が100万円以上」または「商品Bの売上が250万円以上」である場合は「B評価」
  • 「商品Aの売上が80万円以上」または「商品Bの売上が200万円以上」である場合は「C評価」

これらの条件をもとにIFS関数とOR関数を組み合わせて「D2」セルに入力する数式は以下のものとなります。

=IFS(OR(B2>=1500000, C2>=3000000), “A”, OR(B2>=1000000, C2>=2500000), “B”, OR(B2>=800000, C2>=2000000), “C”)

また、今回は該当する項目はありませんが、上記IFS関数の最後の引数に「TRUE, “D”」を入力することで、条件外のデータに対しても評価を入力することができます。

=IFS(OR(B2>=1500000, C2>=3000000), “A”, OR(B2>=1000000, C2>=2500000), “B”, OR(B2>=800000, C2>=2000000), “C”, TRUE, “D”)

行\列ABCD
1担当者名商品Aの売上商品Bの売上評価
2三浦1,000,0001,600,000B
3高田2,500,0003,400,000A
4小林500,0002,200,000C
5渡辺900,0001,500,000C
6鈴木700,0003,100,000A
7佐藤1,900,0002,800,000A

IFS関数のエラー処理とパフォーマンス向上のコツ

excel ifs

IFS関数を用いたときに発生するエラーの処理方法やパフォーマンスを向上させるコツについて紹介します。

IFS関数でのエラー処理の方法

IFS関数を使っていく中で、エラーの発生を避けることはなかなか難しいでしょう。ですので、IFS関数で発生するよくあるエラーとその処理方法について理解しておくことが大切です。

原因対処法
論理式が重複している重複している論理式を削除しましょう。
論理式が不足している適切な論理式を追加しましょう。
条件に一致する値がない論理式の最後を「TRUE」で指定し、一致する値がない場合に返す値を設定しましょう。
参照先のエラー参照先のエラーの修正を行いましょう。

IFS関数の 計算速度や効率を上げるテクニック

IFS関数の計算速度や効率を上げるテクニックについていくつか紹介します。

不要な論理式を減らす

数式に入力する必要のない不要な論理式を削除することにより、関数の評価回数が減るため、計算速度を向上させることができます。

比較演算子を適切に活用する

条件の指定で比較演算子を適切に活用することで、簡潔に条件の指定をすることができます。

短絡評価を活用する

IFS関数では、論理式で「TRUE」と評価された段階で指定した条件に対応する値を表示し、それ以降の条件を評価しません。そのため、最も高確率な条件を初めの論理式として配置することで、不要な条件の評価が省略されるため、計算速度の向上に繋がります。

よくある質問

IFS関数に関連するよくある質問について紹介します。

IFSとIFの使い分けは?

IFS関数とIF関数の違いについて比較してみましょう。

関数名IFS関数IF関数
書式=IFS(論理式1, 真の場合1, [論理式2, 真の場合2], …)=IF(論理式, 真の場合, 偽の場合)
指定可能条件数最大127個1個
利用可能バージョンMicrosoft 365、またはExcel 2019以降バージョンに制限なし

基本的には、一つの条件に基づいて値を返したい場合はIF関数、複数の条件に基づいて値を返したい場合はIFS関数を用います。

ただし、複数の条件でも複雑なものでない場合や数が少ない場合はIF関数と他の関数を組み合わせることで代用することも可能です。

Excel IFS 何個?

ExcelのIFS関数は、関数内で複数の条件を設定することができる点が特徴です。

IFS関数では、最大127個まで条件を設定することができます。

ただし、複数の条件を設定する場合は、正確な順序で入力することが求められます。また、構築やテスト、更新を行うのが困難である場合もあるため、あまりにも膨大な数の条件を設定することは推奨されていません。

ExcelのIFS関数はいつから使えますか?

ExcelのIFS関数は、利用できるバージョンに制限があります。

IFS関数を利用することのできるバージョンを表にまとめたものが以下のものです。

20102013201620192021
買い切り×××
Microsoft 365(Office 365)

まとめ

IFS関数は、単純な条件だけでなく複数の条件を同時に処理する際に便利な関数です。

条件ごとにこまかく設定が必要となるIF関数と比較して、条件入力をシンプルに行うことができるため可読性も良く、追加で条件を入力しやすいことが魅力です。

本記事を参考に、ぜひIFS関数を活用してみてください。

ExcelIfsに関する重要用語

用語説明
比較演算子プログラミング言語や数学で用いられる記号やキーワードのことを差し、式や値を比較する際に用いられます。主に「=」「<」「>」の3つを組み合わせて表現されます。
オートフィルデータやパターンを一括で自動入力することができる機能です。大量のデータを効率的に入力したり、特定のパターンを迅速に適用したりする際に非常に役立ちます。