エクセルのIF関数は、条件に応じて表示する値を切り替えられる非常に便利な関数です。しかし「以上・以下の条件をIF関数でどう書けばいいの?」「3つ以上の条件を設定したい」「AならCという分岐をどう作ればいい?」といった疑問を持つ方も多いでしょう。
IF関数は基本的な使い方を覚えるだけでなく、比較演算子(不等号)を使った条件指定や、AND・OR関数との組み合わせ、IFS関数の活用など、応用の幅が非常に広い関数です。
この記事では、エクセルのIF関数で以上・以下・3つ以上の条件を設定する方法について、初心者の方にもわかりやすく丁寧に解説します。「AならC」のような複数条件の分岐や、「10以上20未満」といった範囲指定のIF設定まで幅広くご紹介しますので、ぜひ参考にしてみてください。
IF関数で以上・以下の条件を設定する基本の書き方
それではまず、IF関数で以上・以下の条件を設定する基本的な書き方について解説していきます。IF関数で数値の大小を判定するには、比較演算子(不等号)を使います。
IF関数の基本構文と比較演算子の種類
IF関数の基本的な構文は以下のとおりです。
「論理式」の部分に条件を記述し、条件が成立する場合は「真の場合」の値が、成立しない場合は「偽の場合」の値が返されます。以上・以下の条件指定に使う比較演算子は以下の表のとおりです。
| 演算子 | 意味 | 使用例 |
|---|---|---|
| >= | 以上 | A1>=100(A1が100以上) |
| <= | 以下 | A1<=100(A1が100以下) |
| > | より大きい(超) | A1>100(A1が100より大きい) |
| < | 未満 | A1<100(A1が100未満) |
| = | 等しい | A1=100(A1が100と等しい) |
| <> | 等しくない | A1<>100(A1が100でない) |
「以上」と「より大きい(超)」は混同しやすいポイントです。「以上」は境界値を含み、「超」は含まないという違いをしっかり押さえておきましょう。
「以上」「以下」を使ったIF関数の具体例
たとえば、セルA1の点数が70点以上なら「合格」、そうでなければ「不合格」と表示させたい場合は次のように記述します。


また、売上がある基準値以下のときに「要確認」と表示させたい場合は次のとおりです。
このように、比較演算子を論理式に組み込むだけで数値の大小による条件分岐を簡単に作成できます。
文字列を条件にする「AならC」の書き方
「AならC」のように、セルに特定の文字列が入っている場合に別の値を返す設定も可能です。
文字列を条件にする場合は、ダブルクォーテーション(”)で文字列を囲むことが必須です。忘れてしまうとエラーになるため注意しましょう。また、文字列の一致はアルファベットの大文字・小文字を区別しないという特徴もあります。
IF関数で3つ以上の条件を設定する方法
続いては、IF関数で3つ以上の条件を設定する方法を確認していきます。条件が増えてくると、ネスト(入れ子)構造やIFS関数の活用が重要になってきます。
IF関数のネスト(入れ子)で複数条件を設定する
IF関数の「偽の場合」の部分に、さらにIF関数を入れることで3段階以上の条件分岐が作れます。これをネスト(入れ子)と呼びます。
上記の例では、80以上なら「優」、60以上なら「良」、40以上なら「可」、それ未満なら「不可」と4段階の評価を返します。ネストの数が増えるほど数式が複雑になるため、条件を整理してから書き始めると間違いが少なくなるでしょう。


IFS関数を使って複数条件をスッキリ書く方法
Excel 2019以降またはMicrosoft 365では、IFS関数を使うことでネストなしに複数条件を並べて書けます。
IFS関数の構文は「=IFS(条件1, 値1, 条件2, 値2, …)」です。最後の「TRUE, “不可”」は「どの条件にも当てはまらない場合」を意味し、いわゆるデフォルト値の役割を果たします。
Excel 2016以前の環境では使用できないため、ネストのIF関数で代替する必要があります。
AND・OR関数との組み合わせで複数条件を同時判定する
複数の条件をすべて満たす場合(AND条件)や、いずれかを満たす場合(OR条件)を判定したいときは、AND関数・OR関数をIF関数と組み合わせます。
=IF(AND(A1>=60, B1>=60), “合格”, “不合格”)
(A1とB1がともに60以上のときに「合格」)OR条件の例:
=IF(OR(A1>=80, B1>=80), “優良”, “普通”)
(A1またはB1のいずれかが80以上のときに「優良」)
AND関数・OR関数はそれぞれ複数の条件を引数として受け取り、すべて真(AND)またはいずれか真(OR)の場合にTRUEを返します。IF関数の論理式部分に組み込むことで柔軟な条件分岐が実現できます。
10以上20未満など範囲条件のIF設定方法
続いては、「10以上20未満」のような数値の範囲を条件にするIF設定の方法を確認していきます。範囲条件はAND関数を使うのが基本です。
AND関数で範囲条件(以上かつ以下)を設定する
「10以上20未満」という条件をIF関数で設定するには、以下のように記述します。
AND関数の中に「A1>=10」(10以上)と「A1<20」(20未満)の2つの条件を並べています。「以上」と「未満」の境界値の含む・含まないに注意しながら演算子を選ぶことが重要です。
複数の範囲条件を組み合わせる応用例
複数の範囲に応じて異なる結果を返したい場合は、IFS関数やIF関数のネストと組み合わせて使います。
AND(A1>=0, A1<10), “低”,
AND(A1>=10, A1<20), “中”,
A1>=20, “高”,
TRUE, “対象外”
)
このように記述することで、0以上10未満は「低」、10以上20未満は「中」、20以上は「高」と、数値の範囲に応じた段階的な評価が可能になります。
範囲条件での注意点と間違えやすいポイント
範囲条件を設定する際によくあるミスとして、以下のような書き方があります。
↑このような数学的な書き方はExcelでは機能しません正しい書き方:=IF(AND(A1>=10, A1<20), “範囲内”, “範囲外”)
数学の感覚で「10<=A1<20」と書いてしまいがちですが、Excelではこの書き方は正しく機能しません。必ずAND関数を使って条件を2つに分けて記述することを覚えておいてください。
また、境界値の扱いも間違えやすいポイントです。「10以上20以下」と「10より大きく20未満」では含む数値の範囲が異なります。要件をよく確認してから演算子を選びましょう。
| 条件の意味 | 正しい数式 |
|---|---|
| 10以上20以下 | =IF(AND(A1>=10, A1<=20), …) |
| 10以上20未満 | =IF(AND(A1>=10, A1<20), …) |
| 10より大きく20以下 | =IF(AND(A1>10, A1<=20), …) |
| 10より大きく20未満 | =IF(AND(A1>10, A1<20), …) |
IF関数の条件設定でよくあるエラーと対処法
続いては、IF関数の条件設定でよくあるエラーと対処法を確認していきます。数式が思ったように動かないときは、以下のポイントをチェックしてみてください。
TRUE・FALSEが表示されてしまう場合
IF関数の「真の場合」または「偽の場合」の引数を省略すると、TRUEやFALSEがそのまま表示されることがあります。
→ 条件を満たさない場合に「FALSE」が表示される修正:=IF(A1>=70, “合格”, “不合格”)
→ 偽の場合の値を明示的に指定する
偽の場合に何も表示したくないときは、空文字列(””)を指定すると何も表示されません。
数値と文字列の混在によるエラー
セルの値が数値のつもりでも、実際には文字列として入力されている場合、比較演算子が正しく機能しないことがあります。この場合はVALUE関数やセルの書式を確認するとよいでしょう。
ネストが深すぎて管理しにくくなった場合
IF関数のネストは理論上64階層まで可能ですが、3〜4階層を超えると数式の管理が難しくなるでしょう。そのような場合はIFS関数への置き換えや、SWITCH関数・CHOOSE関数の活用を検討してみてください。
また、条件が多い場合はVLOOKUPやXLOOKUPを使って別表から値を参照する方法も有効です。状況に応じて最適な関数を選ぶことが、エクセル作業の効率化につながります。
まとめ
この記事では、エクセルのIF関数で以上・以下・3つ以上の条件を設定する方法について解説しました。
以上・以下の条件指定には>=(以上)・<=(以下)などの比較演算子を使い、3つ以上の条件が必要な場合はIF関数のネストやIFS関数が便利です。「10以上20未満」のような範囲条件はAND関数を組み合わせて記述します。
「AならC」のような文字列条件や、AND・OR関数との組み合わせも覚えておくと、より複雑な条件分岐にも対応できるようになります。基本をしっかり押さえた上で、実務に合わせて応用してみてください。