エクセル

IFS(イフス)関数は複数条件の分岐に活用|使い方・IF関数との違い・注意点を解説

Excelの魅力をお伝えする「パソコン教室ISA」ライターチームです。

IFS関数とは、複数条件の分岐に使える便利な関数です。IF関数では、複雑になってしまう分岐もIF関数を使えば、すっきりと記述できます。

この記事では、Excel(エクセル)関数を勉強している人に向け、IFS関数の基礎知識や具体的な使い方、IF関数との違いなどを解説します。

パソコン教室ISAの資料をダウンロード(無料)

IFS関数とは

ここでは、IFS(イフス)関数の活用用途や、対応しているOfiiceバージョン、構文など、概要を解説します。

複数の条件で分岐できる関数

IFS関数とは、複数の条件を順番に調べ、最初に合致した条件の条件が、真の場合の値を返す関数です。IFS関数はイフス関数と読みます。IFS関数を活用すれば、IF関数で表現すると、IF関数をいくつも組み合わせた入れ子状に複雑になってしまう式を、すっきりと記述できます。

IFS関数に対応しているOfficeバージョン

IFS関数に対応しているOfficeバージョンは、次のとおりです(※2024年4月時点)。

  • Excel for Microsoft 365
  • Excel for Microsoft 365 for Mac
  • Excel for the web Excel
  • Excel 2021 for Mac
  • Excel 2019
  • Excel 2019 for Mac

上記以外のバージョンでは、IFS関数が使用できず、エラーとなります。

IFS関数の構文

IFS関数の構文は、次のとおりです。

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

論理式には、TRUE(真)またはFALSE(偽)を返す式を設定します。論理式は、最大127個まで任意で指定可能です。論理式1、論理式2、…、論理式Nの順に真偽が判定され、最初に合致した論理式の真の場合が返されます。そして、以降の論理式は調べられません。

論理式1に合致した場合、真の場合1の結果を返し、論理式1に合致しない場合は論理式2の判定にうつります。

パソコン教室ISAの資料をダウンロード(無料)

\ Excel講座の詳しい情報を受け取る /

Excel講座に関する資料をダウンロード

IFS関数の簡単な活用例

ここでは、IFS関数のシンプルな活用例として、学力テストの点数に応じてランク分けする処理と、数値を文字数に変換する処理を解説します。

テストの点数によってランク分けする

IFS関数を使い、個人のテストの点数に応じて、ランクA~Cに分類する処理を作成してみましょう。

A1セルには「氏名」、B1セルには「点数」、C1セルには「ランク」と入力します。そして、学力テストを受けた生徒の氏名をA2以降、点数をB2以降に記述して表を完成させます。

ランクは、点数が80点以上なら「A」、60点以上なら「B」、40点以上なら「C」で表示します。C2セルには「=IFS(B2>=80,”A”,B2>=60,”B”,B2>=40,”C”)」と入力します。

たとえば、テストの点数が65点の場合、論理式1「B2>=80」は偽、論理式2「B2>=60」が真となり論理式2の真の場合の値「”B”」が返ります。

ポイントは左から順に論理式が評価されて、最初に合致した真の値を返す点です。65点は論理式3の「B2>=40」も満たしますが、論理式2を満たしているため、こちらの真の場合の値が返ります。なお、C2セルの右下をドラッグすると、それぞれ数式が反映されます。

パソコン教室ISAの体験授業を受けてみる

数値を文字列に変換する

次に、東京・名古屋・大阪・福岡の各支店コードを、IFS関数を使って文字列に置き換える処理を作成してみましょう。

まず、C1セルに「支店コード」、D1セルに「支店名」と入力し、表を作成します。

次に、D2セルに「=IFS(C2=1,”東京支店”,C2=2,”名古屋支店”,C2=3,”大阪支店”,C2=4,”福岡支店”)」と入力してください。C2セルは1ですので、論理式1「C2=1」に合致し、その真の場合の値「東京支店」が返ります。同様にD3~D5にも数式をコピーすると、それぞれ支店コードから支店名に変換可能です。

パソコン教室ISAの体験授業を受けてみる

IFS関数の活用のポイント

ここでは、IFS関数を活用する際に知っておきたいルールやテクニックを解説します。

論理式の条件は厳しいものから順に並べる

論理式は左から順に評価され、最初に満たした論理式の真の場合の値が返されます。つまり、真と判断されると、次の論理式は評価されません。したがって、IFS関数の論理式は厳しいものから緩いものに正確に並べる必要があります

たとえば、先述したテストの点数によるランク分けにおいて、C2セルに「=IFS(B2>=80,”A”,B2>=40,”C”,B2>=60,”B”)」と記述してしまったとしましょう。この場合、65点の人は論理式2で合致するため、本来はランクBであるのにランクCになってしまいます。

パソコン教室ISAの資料をダウンロード(無料)

いずれの条件も満たさない場合を指定できる

IFS関数は、指定された条件のどれも満たさない場合を論理式に指定できます。つまり「それ以外の場合はこの値を返す」という形で記述する特徴があります。たとえば、先述した支店コードを支店名に変換する処理において、D2セルに「=IFS(C2=1,”東京支店”,C2=2,”名古屋支店”,C2=3,”大阪支店”,C2=4,”福岡支店”,TRUE,”支店名が見つかりません”)」と記述します。

最後の「TRUE,”支店名が見つかりません”」の「TRUE」の部分が「それ以外は~」の記述です。この書き方は定型句のように覚えてしまいましょう。このように書いておくと、どの論理式にも当てはまらない場合の「#N/A」エラーを回避できます。

パソコン教室ISAの資料をダウンロード(無料)

複雑な分岐はAND関数・OR関数を組み合わせる

IFS関数でより複雑な処理を記述する場合は、論理式のなかでAND関数OR関数を組み合わせます。

IF関数とAND関数の組み合わせ例

AND関数の構文は下記です。

=AND(論理式1,論理式2,論理式3,……)

すべての論理式が満たされたときに真を返す関数です。このAND関数をIFS関数の論理式内に記述できます。たとえば、営業成績に応じて次のようにランク分けしたいとします。

  • 「商品Aの売上が100万円以上」かつ「商品Bの売上が50万円以上」の人はランクA
  • 「商品Aの売上が50万円以上」かつ「商品Bの売上が25万円以上」の人はランクB
  • それ以外の人はランクC

この場合、A1に「従業員名」、B1は「商品Aの売上」、C1は「商品Bの売上」と入力し、各セルの下段に氏名と売上を入力して表を作成します。

D2セルに「=IFS(AND(B2>=100,C2>=50),”A”,AND(B2>=50,C2>=25),”B”,TRUE,”C”)」と入力します。
D3~D4にも数式を反映させるとランク分けできます。

パソコン教室ISAの資料をダウンロード(無料)

IF関数とOR関数の組み合わせ例

OR関数の構文は下記です。

=OR(論理式1,論理式2,論理式3,……)

いずれかの論理式が満たされたときに真を返す関数です。このOR関数をIFS関数の論理式内に記述できます。

たとえば、営業成績に応じて、以下のようランク分けしたい場合があったとします。

  • 「商品Aの売上が100万円以上」または「商品Bの売上が50万円以上」の人はランクA
  • 「商品Aの売上が50万円以上」または「商品Bの売上が25万円以上」の人はランクB
  • それ以外の人はランクC

この場合も、前述したようにA1は「従業員名」、B1は「商品Aの売上」、C1は「商品Bの売上」と入力し、各セルの下段に氏名と売上を入力して表を作成します。

D2セルに「=IFS(OR(B2>=100,C2>=50),”A”,OR(B2>=50,C2>=25),”B”,TRUE,”C”)」と入力します。
D3~D4にも数式を反映させるとランク分けできます。

パソコン教室ISAの資料をダウンロード(無料)

\ Excel講座の詳しい情報を受け取る /

Excel講座に関する資料をダウンロード

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

IFS関数とIF関数は似た役割を持った関数です。どのように使い分ければよいのでしょうか。

IF関数とIFS関数の違いとは

IF関数の構文は下記です。

=IF(論理式,真の場合,偽の場合)

論理式を満たすときに真の場合の値を返し、満たさないときに偽の場合の値を返します。

IF関数はIFS関数と異なり、1つの論理式しか記述できません。したがって、たとえば「点数80点以上なら合格、そうでなかったら不合格」のように二者択一で分岐する際に便利な関数です。

IFS関数はIF関数を入れ子にすれば実現できる

IF関数を入れ子にすれば、IFS関数と同じ機能を実現できます。「IF(論理式,真の場合,偽の場合)」の「偽の場合」に、IF関数を入れ子状に書いていくことで、複数の論理式を記述できるからです。

=IF(論理式,真の場合,IF(論理式,真の場合,偽の場合))

たとえば、「IFS(B2>=80,”A”,B2>=60,”B”,B2>=40,”C”)」は「IF(B2>=80,”A”,IF(B2>=60,”B”,IF(B2>=40),”C”))のように書き換えられます。

Excelのバージョンが古く対応していない場合は、この方法を用いましょう。ただし、分岐が多いと記述が煩雑になります。

IF関数の入れ子を統合してIFS関数で表現できる

IF関数を入れ子になっているものは、IFS関数で表現できます。これは先ほど説明した内容の反対です。IF関数の記述をIFS関数で書き直すと、可読性がよくなる場合があります。

その結果、テストやメンテナンスがしやすくなる場合があります。たとえば、旧ExcelからIFS関数に対応したExcelにバージョンアップした際は、IFS関数で書き直すことを検討してもよいでしょう。

パソコン教室ISAの体験授業を受けてみる

\ Excel講座の詳しい情報を受け取る /

Excel講座に関する資料をダウンロード

IFS関数を使う際の注意点

ここでは、IFS関数によって計算エラーが起きる可能性や、処理が複雑になる可能性について解説します。

旧Excel で開くと計算エラーになる

IFS関数は、Office2016以前のバージョンで記述すると、計算エラーになる可能性があります。取引先や顧客などが旧バージョンを使っている場合は、IFS関数を使ったファイルを共有しない方が無難です。場合によっては、取引先や顧客が計算エラーになっていることに気づかず、間違った値を参照してしまうかもしれません。

IFS関数の論理式を増やし過ぎない

IFS関数の論理式は最大127個まで記述できますが、あまり多くの条件を記述するのは、避けた方がよいでしょう。先述したとおり、IFS関数は条件が厳しい論理式から緩い論理式へ、正確に並べなければならないからです。論理式が多いと、テストや更新が難しくなるため、違う記述方法がないか検討した方がよいでしょう。

パソコン教室ISAの資料を取り寄せる(無料)

まとめ

IFS関数は、複数条件の分岐を記述できる便利な関数です。IF関数が複雑な入れ子状になってしまう場合は、IFS関数を使えないか検討してみるとよいでしょう。独学でExcelを学ぶのが難しいと感じている場合は、40年以上の実績を持つ「ISAパソコン教室」をご活用ください。

ISAパソコン教室の講師は、全員当社の社員のため教育の質が担保されています。Microsoftジャパンが1年に1社選ぶ「Learning Award」を、2013~2023年で3度受賞しました。「仕事でExcelを使う機会が多い」「資格取得のためにExcelを勉強している」といった方は、ぜひご利用ください。

ABOUT ME
石井麻美
パソコン教室ISA講師の講師です。 主にOffice系(Word Excel Access PowerPoint)やVBAの授業を担当しています。 Microsoft Office Specialist VBAスタンダードクラウン 資格取得済
\ Excel講座の資料を手に入れよう/
関連するお役立ち資料
MOS試験に関する資料
MOS試験の概要や取得するメリット、受験科目の選び方や勉強方法を解説 ダウンロード
VBAに関する資料
VBAとはどういうものか?VBAの基本情報からできること、できないことを解説 ダウンロード
お気軽にご相談ください

パソコンに関する技術や、資格取得のご相談など、お気軽にお問い合わせください

同じカテゴリーの記事一覧