「点数に応じてS・A・B・C・Dの評価をつけたい」など、そんなときに便利なのがIF関数やIFS関数ですが、いざ複数の条件を設定しようとすると「どこに何を入れればいいの?」「カッコが合わなくてエラーになる…」とつまずいた経験はありませんか?
特に3つ以上の条件をIF関数で表現しようとすると、関数の中に関数を入れる“ネスト構造”が必要になり、見た目も複雑になります。
複雑な入力に頭を抱えてしまう人も少なくないでしょう。
でも、こうした複数条件の設定方法をしっかり理解しておくと、データ処理の効率がぐんと上がります。
そこで今回の記事では、IF関数とIFS関数を使って複数条件を設定する方法について、初心者の方にもわかりやすく丁寧に紹介します。
関数の基本からよくあるエラー、使い分けのポイントまで解説していますので、ぜひ参考になさってください。
Excel(エクセル)を使いこなすのって結構難しいです。
Excel(エクセル)は、出来ることが多くて覚えるのがかなり大変です。
そんな方のためにExcel(エクセル)の使い方や、関数のコツ、ピボットテーブルやグラフなどをまとめたページをライン登録で無料プレゼントしております。
Excel(エクセル)以外にも、Word(ワード)、パソコン基本、PowerPoint(パワーポイント)、Mac、ブラインドタッチなどの特典もございます。
ご興味ある方は下記よりご登録ください。
IFS関数の概要と基本構文
IFS関数とは?
IFS関数は、「もし○○なら●●、△△なら▲▲、▢▢なら■■…」というように、複数の条件を順番にチェックして処理する関数です。
たとえば、あるテストの点数に応じて「合格」「再試験」「不合格」といった判定をしたいとき、条件が2つ以上あると、IF関数だけでは式が長くなってしまいがちです。
IFS関数を使えば、複数の条件をシンプルに書くことができるので、エクセルの式がわかりやすくなります。
IFS関数の基本構文と引数
IFS関数の構文は
=IFS (論理式1, 真の場合1, 論理式2, 真の場合2, ...,)
となっています。
論理式は「条件」となり、真の場合は「その条件に一致したときに表示する結果」となります。
このように、「条件」と「そのときに表示したい結果」をセットで書いていくのが特徴です。
IFS関数の引数は、最大127個まで指定できます。
例えば、下記のような使い方をします。
「=IFS(A1>=80, "合格", A1>=60, "再試験", A1<60, "不合格")」
この式では、セル【A1】の値をチェックして、
- 80点以上なら「合格」
- 60点以上なら「再試験」
- それより下なら「不合格」
と判断しています。
最初に当てはまった条件だけが表示されるので、条件を記入する順番がとても大切です。
★ポイント★
- 条件と結果はセットで書きます(ペアで書く)
- 条件が当てはまった時点で、そこで終了します(それ以降の条件は無視されます)
IF関数で複数条件を指定する方法
IFS関数は、Excel 2019以降やMicrosoft 365で利用できます。
それ以前のバージョン(Excel 2016以前)では使えないため、複数条件を指定する場合は、IF関数を入れ子にする方法で対応する必要があります。
IF関数の基本的な使い方
IF関数とは何か?
IF関数の構文は
=IF (論理式, 値が真の場合, 値が偽の場合)
このようになっています。
構文の意味は「=もし、○○だったら△△、そうでなければ▢▢」となっており、条件によって処理を分岐させることができる関数です。
引数の意味は下記のようになります。
- 論理式:条件(何を判定するのか)
- 値が真の場合:条件に一致していた場合に表示する結果
- 値が偽の場合:条件に一致していなかった場合に表示する結果
このようになっています。
IF関数の基本の使い方(ネストしない場合)
下記の例を見てみましょう。
実績の値が150以上の場合は、評価を「優」とし、150未満の場合は何も表示しないという内容をIF関数で入力します。
この場合はセル【C2】に「=IF(B2>=150,"優","")」と入力し、「Enter」で確定します。
下のセルにも数式をコピーすれば、それぞれの数値に応じて結果が表示されます。
このように、IF関数の基本的な使い方として、論理式に条件となる数式を入力し、その条件に一致した場合に表示する結果を「値が真の場合」に入力、条件に一致しなかった場合に表示する結果を「値が偽の場合」に入力します。
● 考え方のポイント
- IF関数は「1つの判断」をする関数です。
- AかBか、どちらか2つの選択肢で判断するときに向いています。
- 条件が1つだけなら、非常にシンプルで使いやすい関数です。
条件が3つ以上のIF関数の使用例
IF関数の「ネスト」とは
ネストとは、関数の引数の中に関数を入れて記述することを言います。
IF関数の場合、基本の使い方として条件が1つでAまたはBの結果の表示しかできません。
そのため、条件が2つ以上になると、IF関数を入れ子(ネスト)にして使う必要があります。
たとえば「S・A・B・C・D」など、5段階評価をつけたいときには、次のように複数のIF関数をつなげて書きます。
■ネストしたIF関数の構文(例)
=IF(条件1, 結果1,
IF(条件2, 結果2,
IF(条件3, 結果3,
IF(条件4, 結果4, 結果5))))
このように記述することで
- 最初のIFが当てはまらなければ、次のIFをチェックする
- どれも当てはまらなければ、最後の結果が表示する
ということが可能になります。
IF関数で複数条件を指定する使い方(ネストする場合)
下記の例を見てみましょう。
実績の値が150以上の場合は評価を「S」とし、120以上の場合は評価を「A」、100以上の場合は評価を「B」、80以上の場合は評価を「C」、80未満の場合は評価を「D」という内容をIF関数をネストして入力します。
この場合はセル【C2】に「=IF(B2>=150,"S",IF(B2>=120,"A",IF(B2>=100,"B",IF(B2>=80,"C","D"))))」と入力し、「Enter」で確定します。
下のセルにも数式をコピーすれば、それぞれの数値に応じて結果が表示されます。
【 注意点】
- 条件は上から順にチェックされるため、大きい条件から順番に書くのが基本です。
- IF関数を重ねすぎると、見た目が複雑になりやすいです。
- 括弧( )の数が合っていないとエラーになるので、最後の「 ) 」がいくつあるか注意しましょう。
IF関数をネストして条件を指定する場合は
- 「3段階以上の評価」や「複雑な条件分岐」をしたいとき
- 条件の数が多くても、それぞれの条件がはっきりしていて順番に判断できるとき
に使われますが、IF関数は1つの条件だけならシンプルですが、3つ以上になると複雑さが増してしまうのが難点です。
IFS関数の使い方と活用例
IFS関数とは
IFS関数は、複数の条件をスマートに判定できる関数です。
複数のIF関数をネストして書くのが大変なときに、とても便利で、スッキリと引数を記述することができます。
IFS関数の構文は
=IFS (論理式1, 真の場合1, 論理式2, 真の場合2, ...,)
となっています。
引数は「論理式」と「真の場合」の2つで、この2つが1つのセットとなります。
論理式には「○○だったら」という条件となる数式を入力し、真の場合には条件に一致した場合に表示する結果を入力します。
IFS関数では、記述した順番に一致するかの判定が行われます。つまり…
「論理式1」に一致した場合は「真の場合1」を返します。
「論理式1」に一致しなかった場合は、「論理式2」をチェックし、その時点で条件を満たせば「真の場合2」を返します。
もし「論理式2」も一致しなかった場合はさらに「論理式3」をチェックし…
というように、順番に上からチェックしていき、一致したところの結果を表示しますので、条件を記述する順番が重要になります。
複数条件でIFS関数を使うメリット
IF関数と比較したときの違いは下記のような点があります。
項目 | IF関数(ネスト) | IFS関数 |
書き方 | 括弧の数が多くなる | シンプルに並べるだけ |
見やすさ | 慣れないと複雑に見える | 条件と結果が一目でわかる |
エラーの出やすさ | 括弧のミスが起こりやすい | 書き順だけ注意すればOK |
対応バージョン | 古いExcelでも使える | Excel 2019以降で使える |
★複数条件でIFS関数を使うメリット★
- 条件が3つ以上あるときは、IFS関数の方が見やすくてミスが少ない
- 条件と結果が交互に並ぶので、初心者でも流れが理解しやすい
このようなメリットがあります。
IFS関数で複数条件を指定する活用法
下記の例を見てみましょう。
先ほど、IF関数をネストして判定したデータと同じものを用意しました。
実績の値が150以上の場合は評価を「S」とし、120以上の場合は評価を「A」、100以上の場合は評価を「B」、80以上の場合は評価を「C」、80未満の場合は評価を「D」という内容をIFS関数で入力します。
IFS関数で記述する場合は、「=IFS(B2>=150,"S",B2>=120,"A",B2>=100,"B",B2>=80,"C",TRUE,"D")」となるように入力します。
下のセルにも数式をコピーすれば、それぞれの数値に応じて結果が表示されます。
IFS関数の考え方
- 最初に「真」になった条件の結果が返る(以降の条件は無視される)
- 必ず「大きい順・上から順」に条件を書くことが大切
- 最後に全てに当てはまらない場合のために「B2<80」と入力する方法の他に「TRUE」を指定することができる
エラーが発生する場合
IFS関数やIF関数を手入力で使うとき、ちょっとした書き間違いが原因でエラーが発生することがあります。
ここでは、特によくある4つのエラー原因と、それぞれの確認ポイントを詳しく見ていきましょう。
論理式が数式になっていない
IFS関数の引数「論理式」にはその名の通り「数式」を入力する必要があります。
その「論理式」の部分に数式が入っていない場合、エラーとなります。
例えば下記のような数式です。
=IF(B2 "合格", "OK", "NG")
このように 比較演算子(>, <, =, >= など) が抜けていると、「B2 "合格"」の部分がExcelにとって意味不明な文になってしまい、エラーになります。
正しく入力する場合は
=IF(B2="合格", "OK", "NG")
このように、「B2="合格"」と比較演算子を使用して入力しなければなりません。
★ポイント★
- 論理式は「~なら」という条件を書く部分
- セルの中身と値を比べたいときは 「=」「>」「<」「>=」「<=」「<>」などの演算子が必須
- 比較演算子を使った数式以外に関数の入力も可能
文字列をダブルクォーテーションで囲んでいない
Excelで数式を入力する際の前提として、「文字列はダブルクォーテーションで囲む」というルールがあります。
数式内で文字列をダブルクォーテーションで囲んでいない場合はエラーとなります。
例えば下記のような数式です。
=IF(B2="合格", OK, NG)
このように 「OK」「NG」などの文字列を 「"(ダブルクォーテーション)」で囲っていないと、Excelはこれを文字列ではなく「セル名や関数」と勘違いしてしまい、「名前が正しくない」という判断をし、エラーになります。
正しく入力する場合は、
=IF(B2="合格", "OK", "NG")
このように、文字列をダブルクォーテーションで囲んで入力しなければなりません。
★ポイント★
- 「合格」や「不合格」などの文字列は、必ず「 " " 」で囲む
- 数字(例:100)や数式(例:B2+10)は ダブルクォーテーションは不要
- 空白を指定する場合は「""」と入力する
カッコが不足している
関数をネストする場合によく起こるエラーの現象です。
関数の引数は初めのカッコと終わりのカッコが1つのセットになります。
ネストするうちに終わりのカッコが不足しているとエラーとなります。
下記の例を見てみましょう。
「=IF(B2>=150,"S",IF(B2>=120,"A",IF(B2>=100,"B",IF(B2>=80,"C","D"))」
関数をネストすることで数式が複雑化し、始めのカッコと終わりのカッコが対になっているのかの見分けがつかなくなることがあります。
今回の例では、終わりのカッコが2つ不足しています。
正しくは
=IF(B2>=150,"S",IF(B2>=120,"A",IF(B2>=100,"B",IF(B2>=80,"C","D"))))
このようになります。
ネストする関数の数にもよりますが、ネストする数が増えるほどわかりにくくなるので、カッコの数が合っているのかを確認すると良いでしょう。
引数を半角カンマで区切っていない
関数の引数は、それぞれの間を半角のカンマで区切るというルールがあります。
この区切りが正しくできていない場合、エラーとなります。
下記の例を見てみましょう。
=IF(B2>=60 "合格", "不合格")
「論理式」と「値が真の場合」の間に半角カンマが入力されていないため、引数が正しく区切られていません。
このように、区切りに半角カンマを入れていないと、Excelはどこからどこまでがそれぞれの「引数」なのか判断できず、エラーになります。
正しくは
=IF(B2>=60, "合格", "不合格")
このように各引数の間に半角カンマを確実に入力する必要があります。
複数条件の便利な入力方法
セルに直接手入力で関数の始めから終わりまでをスムーズに入力出来ればいいのですが、関数の内容が複雑であったり、関数をネストする場合は、入力そのものが難しくなり、前述したようなエラーが発生してしまうことも少なくありません。
そこで便利なのが「関数の引数ダイアログボックス」の活用です。
複雑な入力を、手入力よりも楽に入力することができるだけでなく、エラーの対策にもなります。
ダイアログボックスを使うメリット
項目 | 内容 |
入力ミスを減らせる | ダブルクォーテーションやカンマを自動で入力 |
式の構造が視覚的にわかりやすい | 引数ごとに枠が分かれている |
関数の使い方を学べる | 引数の説明が表示される |
入力するないようにもよりますが、ダイアログボックスを使うことで、手入力しなければならなかったダブルクォーテーションや半角カンマ、終わりのカッコが自動で補完されるため、入力ミスを減らすことができます。
IFS関数をダイアログボックスで入力する例
それでは、実際にダイアログボックスを使って関数を入力する方法を見てみましょう。
大まかな流れは
- セルに関数を挿入する
- 数式バーの横の「fx」をクリックする
- 各引数の入力欄に必要な内容を入力する
- 「OK」をクリックする
という流れになります。
それでは詳しく解説します。
まず、セルに半角入力で「=IFS(」となるように入力します。
次に、数式バーの左側にある「fx」のボタンをクリックします。
関数の引数ダイアログボックスが開きます。
「論理式1」の入力欄をクリックし、「B2>=150」となるように入力しましょう。
各引数の入力欄に入れた内容は、そのまま数式バーに反映されます。
次の引数の入力欄に移動します。
「値が真の場合1」に「S」とそのまま文字列を入力します。※ダブルクォーテーションは不要です。
次の入力欄に移動します。移動すると、先ほど入力した文字列に自動でダブルクォーテーションが付きます。
他の引数の入力欄にも同様に必要な数式や表示したい文字列を入力します。
見える入力欄の一番下まで入力し、次の入力欄に進みたい場合は、キーボードの「Tab」キーを押しましょう。
「Tab」キーを押すと、次の入力欄に移動することができます。
最後の引数の入力まで完了したら、次の入力欄に移動するか、上の入力欄をクリックしましょう。
最後に入力した文字列にもダブルクォーテーションが自動で表示されます。すべての入力が完了したら「OK」をクリックします。
これで、IFS関数の入力が完了し、セルに関数の結果が表示されます。
ダイアログボックスを使うメリットはここにも!
ダイアログボックスを使って関数を入力すると、最後まで入力が終わったときに、関数の結果を確認することができます。
手入力の場合は、「Enter」を押して確定するまで、結果はわかりませんが、ダイアログボックスを使うことで、確定前に関数の結果を確認することが可能です。
もし、このタイミングで結果の誤りに気付くことができれば、早いタイミングで数式の内容を修正することができます。
また、引数に何を入力すればいいのかわからないという場合も、ダイアログボックス内に引数の説明が表示されるため、ヒントになります。
ダイアログボックスを使って関数を入力すると、入力に誤りがあるタイミングで素早く気付くことができます。
下記の例では、入力された論理式の比較演算子の入力に誤りがあります。
「B2=>150」と入力されていますが、正しくは「B2>=150」です。
このように入力された内容に誤りがある場合は、そのタイミングで気付くことができるため、手入力よりも効率よく入力が可能です。
IF関数のネストをダイアログボックスで入力する例
基本の操作は、前述したIFS関数の方法と変わりはありません。
しかし、IF関数のように、関数をネストする場合は、関数の引数ダイアログボックスの表示を切り替える必要があるため、その手順を押さえる必要があります。
この方法は、IF関数だけでなく、他の関数でもネストする場合に使える方法ですので、覚えておいて損はないですよ。
今回のポイントは、ダイアログボックスを数式バーを使って切り替えるという点です。
まず、セルに半角入力で「=IF(」となるように入力します。
次に、数式バーの左側にある「fx」のボタンをクリックします。
関数の引数ダイアログボックスが開きます。
「論理式」の入力欄をクリックし、「B2>=150」となるように入力し、「値が真の場合」の入力欄に「S」と入力しましょう。
入力が出来たら「値が偽の場合」の入力欄に移動します。
「値が偽の場合」の入力欄に「IF(」と、半角で入力します。※この時、「( 」を入力することを忘れないようにしてください。
次に、数式バーの2つ目の「IF」の部分をクリックします。
数式バーの2つ目の「IF」の部分をクリックすると、ダイアログボックスの表示が2つ目のIF関数に切り替わります。
新しく開いた2つ目のIF関数のダイアログボックスの引数の欄に、次に指定する条件と結果を入力しましょう。
まだ指定する条件が続くので、先ほどと同様に「値が偽の場合」の入力欄に「IF(」と、半角で入力します。
次に、数式バーの3つ目の「IF」の部分をクリックします。
数式バーの3つ目の「IF」の部分をクリックすると、ダイアログボックスの表示が3つ目のIF関数に切り替わります。
同様の方法で、「論理式」と「値が真の場合」を入力し、条件が続く場合は「値が偽の場合」の入力欄に「IF(」を入力し、最後の条件まで入力します。
最後まで入力が出来たら「OK」をクリックします。
「OK」をクリックすると、下記のようにメッセージが表示される場合があります。
このメッセージの内容は、「終わりのカッコが不足しているので自動で修正しますが、よろしいですか?」という内容です。
「はい」をクリックしましょう。
これで、IF関数のネストを使った入力が完了し、セルに関数の結果が表示されます。
AND関数とOR関数との組み合わせ
IFS関数で複数の条件を指定する際に、AND関数やOR関数を使って、複数の条件をすべて満たす場合、複数の条件の内いずれかを満たす場合などの条件分岐を指定することができます。
例えば、「数学の点数が80点以上かつ国語の点数が80点以上」「目標達成率100%以上または売上100万円以上」などの条件を指定したい場合は、AND関数またはOR関数を組み合わせます。
このように、条件分岐をさらに細かくしたい場合は、IFS関数の論理式に関数をネストすると実行が可能です。
AND関数やOR関数と組み合わせて使う方法については、下記の記事で詳しく解説していますので、ぜひ参考になさってください。
Excel(エクセル)|IFS関数の計算式を入れる方法と活用法を徹底解説
条件分岐の関数をうまく使いこなそう
Excelで複数の条件を扱うとき、まず思い浮かぶのがIF関数です。
IF関数は「もし〜なら〜、そうでなければ〜」というシンプルな条件判定ができる便利な関数ですが、条件が3つ、4つと増えてくると、どうしてもネスト(入れ子)構造が複雑になってしまいます。
カッコの数が合わない、どのIFがどこに対応しているのかわからなくなる…という悩みを感じたことのある方も多いのではないでしょうか。
こうしたネストの難しさは、関数を正しく入力することだけでなく、「後から見て理解しやすいかどうか」という点でも大きな壁になります。
そこで、Excel 2019以降やMicrosoft 365では「IFS関数」を使いましょう。
IFS関数は、複数の条件を「順番に並べて評価」していく構造の関数で、ネストのようにカッコを何重にも重ねる必要がありません。
たとえば5つの条件を処理する場合でも、ひとつの関数でスッキリ記述できるのが大きな特徴です。
これにより、見た目がシンプルで読みやすく、修正や確認もしやすくなるというメリットがあります。
関数の入力に不安がある場合は、Excelの「関数の挿入ダイアログ」を活用すれば、ダブルクォーテーションやカンマのミスを防ぎながら関数を組むことができますので、そういった方法を使うのもおすすめです。
Excel(エクセル)が苦手であればパソコン教室で学んでみませんか?
Excel(エクセル)はかなり奥が深く、知識を得ただけは操作が身に付きにくいものです。
そんな時には、弊社のようなパソコン教室を利用するのも一つの手です。
「オンライン」にも対応している「苦手な方専門パソコン教室パレハ」にお任せください。
オンラインというと「動画を見るだけ」とか「オンラインなんてやったことがない」というご不安があるかと思います。
ですが「苦手な方専門のパソコン教室パレハ」の「オンラインレッスン」は、動画ではなく、直接講師に質問できる生レッスンです。
生レッスンでありながらリーズナブルに学べるのが人気の秘密です。
また、苦手な方に特化しているのでパソコンが特に苦手だと言う方には最適です。
パソコンが苦手でも、オンラインできる仕組みがあります。
詳細は下記をご覧ください。
Excel(エクセル)の操作が苦手な方のために、操作する上でのコツをまとめたページを用意しました。
「パソコン教室パレハのLINE友達登録」(無料)で「パソコンに役立つ豪華15大特典」をお送りしております。
Excel(エクセル)の操作はもちろん、パソコンが苦手な方に役立つ特典を15個ご用意しております。
良かったら下記からご登録ください。
パレハ直営校
パレハグループ加盟校
下記はパレハグループ加盟校となります。
料金体制などは異なりますが、パレハが自信をもってご紹介できる教室です。
■ 岩出市にある「キュリオステーション 岩出店」の公式サイトはこちら
■ 愛知県名古屋市緑区にある 「有松パソコン教室」の公式サイトはこちら
■ 宮崎市にあるパソコン教室Cosmarp(コスマープ)の公式サイトはこちら
全国の教室一覧(実店舗&オンライン)|パレハ直営校&グループ加盟校
オンライン形式をご希望の方はこちら
東京・名古屋・大阪・福岡・札幌・横浜・仙台・埼玉・千葉・沖縄などで受講したい方はオンラインレッスン(Googleミートを使ったオンライン個別レッスンです)をお選びください。
オンラインレッスンは全国対応しています。
講座一覧はこちら
他にも講座は多数ございます。
詳しくは下記をご覧ください。