エクセルのIF関数の使い方|複数条件・AND・OR・空白・3段階の判定

エクセルのIF関数の使い方|複数条件・AND・OR・空白・3段階の判定

エクセルで、条件によって、表示を切り替えるには、IF関数を使います。得点が60点以上なら「合格」、そうでなければ「不合格」と表示するなら、=IF(B3>=60,"合格","不合格") です。「条件」「条件が正しいとき」「条件が正しくないとき」の3つを、指定します。

この記事では、IF関数の基本、複数の条件(AND・OR)、3段階以上の判定、空白のとき表示しない方法、文字列の判定、うまく判定できない原因を、1つの表を使って説明します。下の練習ツールで、得点や出欠を書き換えて、判定がどう変わるかを試せます。

目次

エクセルのIF関数の使い方|やりたいこと別の式

やりたいこと式(例)ポイント
条件で、表示を切り替える=IF(B3>=60,”合格”,”不合格”)条件に、比較の記号(>=・=・<>など)を使います。
2つの条件を、両方満たすとき=IF(AND(B3>=60,C3=”出”),”合格”,”不合格”)AND関数で、条件を並べます。
どちらかを満たすとき=IF(OR(B6>=90,C6=”欠”),”要確認”,””)OR関数で、条件を並べます。
3段階以上に分ける=IF(B3>=80,”A”,IF(B3>=60,”B”,”C”))IF関数の中に、IF関数を入れます(入れ子)。
文字が一致するかを判定する=IF(C3=”出”,”出席”,”欠席”)文字は、「”」で囲みます。
空白のとき、何も表示しない=IF(B7=””,””,IF(B7>=60,”合格”,”不合格”))最初に、空白かどうかを調べます。
ポイントポイント:IF関数の「条件」は、「正しい(TRUE)」か「正しくない(FALSE)」の、どちらかになる式です。「B3>=60」は、B3が60以上なら TRUE、60未満なら FALSE になります。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

IF関数の基本(条件で表示を切り替える)

得点が60点以上なら「合格」、60点未満なら「不合格」と、D3セルに表示します。

1
結果を出したいセル(D3)を選びます。
2
「=IF(」と入力します。
3
条件(B3>=60)を入力して、「,」を入力します。
4
条件が正しいときの表示(”合格”)を入力して、「,」を入力します。
5
条件が正しくないときの表示(”不合格”)を入力して、「)」を入力し、Enter キーを押します。
IF関数の構文
数式=IF(B3>=60,"合格","不合格")
ひとことで条件で結果を切り替える
B3>=60
条件です
"合格"
真の場合です
"不合格"
偽の場合です
エクセルでIF関数を使った表(氏名、得点、出欠、合否、2条件、評価)
エクセルでIF関数を使った表(氏名、得点、出欠、合否、2条件、評価)

梅の得点は85点なので、結果は 合格 です。松の58点は60未満なので、不合格 になります。文字を表示するときは、「”合格”」のように、ダブルクォーテーションで囲みます。詳しくは、IF関数の使い方を参照してください。

複数の条件で判定する(AND関数・OR関数)

「60点以上で、かつ、出席」のように、2つの条件を、両方満たすときは、AND関数を使います。IF関数の「条件」の部分に、AND関数を入れます。

IF関数の構文
数式=IF(AND(B3>=60,C3="出"),"合格","不合格")
ひとことで条件で結果を切り替える
AND(B3>=60,C3="出")
条件です
"合格"
真の場合です
"不合格"
偽の場合です

梅は、85点で、出席なので、合格 です。竹は、90点でも、欠席なので、不合格 になります。「どちらか1つでも満たせばよい」ときは、OR関数を使います。竹(90点・欠席)に、次の式を使うと、結果は 要確認 です。

IF関数の構文
数式=IF(OR(B6>=90,C6="欠"),"要確認","")
ひとことで条件で結果を切り替える
OR(B6>=90,C6="欠")
条件です
"要確認"
真の場合です
""
偽の場合です

詳しくは、AND関数の使い方、OR関数の使い方、合否を複数条件で判定する方法を参照してください。

3段階以上に分ける(IF関数の入れ子)

「80点以上はA、60点以上はB、それ以外はC」のように、3段階に分けるときは、IF関数の「正しくないとき」の部分に、もう1つ、IF関数を入れます。

IF関数の式
数式=IF(B3>=80,"A",IF(B3>=60,"B","C"))
ひとことで条件で結果を切り替える
B3>=80
条件です
"A"
真の場合です
IF(B3>=60,"B","C")
偽の場合です

梅(85点)は A、桜(72点)は B、松(58点)は C です。大きい値の条件から、順に書くのが、間違えないコツです。4段階以上は、得点をA・B・C・Dに振り分ける方法を参照してください。

空白のとき、表示しない・文字や数値を判定する

得点が、まだ入力されていない(空白の)行は、IF関数では、0点として扱われるので、「不合格」になってしまいます。楓の行(得点が空白)が、その例です。空白のときは、何も表示しないようにするには、先に、空白かどうかを調べます。

IF関数の構文
数式=IF(B7="","",IF(B7>=60,"合格","不合格"))
ひとことで条件で結果を切り替える
B7=""
条件です
""
真の場合です
IF(B7>=60,"合格","不合格")
偽の場合です

空白の「””」を返すので、結果は、何も表示されません。数値が入っているときだけ、使いたいときは、ISNUMBER関数を使います。

IF関数の構文
数式=IF(ISNUMBER(B7),B7,"未入力")
ひとことで条件で結果を切り替える
ISNUMBER(B7)
条件です
B7
真の場合です
"未入力"
偽の場合です

得点が空白なので、結果は 未入力 です。文字が一致するかを判定するときは、=IF(C3="出","出席","欠席") のように、「=」で、文字を比べます。梅は「出」なので、結果は 出席 です。詳しくは、空白のとき、計算しない・表示しない方法、特定の文字を含むときの判定方法を参照してください。

IF関数がうまく判定できないときの確認表

症状考えられる原因対処
常に、同じ結果になる条件が、いつも正しい(または正しくない)比較の記号と、数値を確認する。
数字を、条件にしたのに、合わない数字が、文字として入っている数値に変換する。<a href=”https://excel15.com/r007/”>文字列を数値に変換する方法</a>を参照。
空白のセルが、「不合格」になる空白は、0として判定される先に、<code>B7=””</code> で、空白を調べる。
「#NAME?」と出る文字を、「”」で囲んでいない文字は、「”合格”」のように囲む。
入れ子の途中で、結果がおかしい大きい値の条件から、書いていない条件の順番を、大きい値から並べる。
関数の「)」が足りない入れ子の数だけ、閉じていないIF関数の数だけ、「)」を付ける。
値を変えても、結果が変わらない計算方法が「手動」になっている「数式」タブの「計算方法の設定」を「自動」にする。

IF関数のよくある質問

IF関数で、複数の条件を指定するには?

AND関数(すべてを満たす)や、OR関数(どれかを満たす)を、IF関数の条件に入れます。=IF(AND(B3>=60,C3="出"),"合格","不合格") のように書きます。

空白のとき、何も表示しないようにするには?

=IF(B7="","",…) のように、最初に空白かどうかを調べて、空白のときは「””」を返します。

IF関数を、何重まで、入れられますか?

現在のExcelでは、64重まで、入れられます。ただし、3つ以上に分けるときは、見やすさのために、IFS関数や、VLOOKUP関数の近似一致を使う方法も、あります。

あわせて読みたい:IF関数の関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

基本から確認したいときは、エクセルのIFS関数・SWITCH関数の使い方もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次