ExcelのIF関数で「〇〇以上かつ〇〇未満」を指定する方法|AND関数とIFS関数の使い分け
はじめに
「50点以上、80点未満の人だけを抽出したい」——そんなとき、数学の書き方をそのまま使って =IF(50<=A1<=80... と入力していませんか。残念ながら、この書き方ではExcelは正しく動作しません。
Excelで「〇〇以上かつ〇〇未満」のような範囲指定を行うには、AND関数またはIFS関数を組み合わせる必要があります。
結論から言えば、使い分けは以下のとおりです。
この記事では、それぞれの数式の組み方と使い分けのポイントを解説します。
概要解説動画
※要約を抜粋した動画(朗読版)です。声優・井上喜久子さんの声を元にしたAI音声(桜乃そら)を使用しており、ラジオのように聞きやすく、優しい声で聞き流せます。
なぜIF関数だけでは「範囲指定」ができないのか
数学では「50 ≤ x < 80」のように、一つの式で範囲を表現できます。しかし、Excelでは比較演算子を連続して使うことができません。
=IF(50<=A1<=80, "〇", "×") ← これは意図どおりに動作しません
Excelが理解できるのは、「A1は50以上か?」「A1は80未満か?」といった一つずつの条件です。そのため、複数の条件を同時に満たすかどうかを判定するには、AND関数を使って条件を束ねる必要があります。
【基本】特定の範囲だけ判定する(IF関数 × AND関数)
結果が「合格/不合格」「対象/対象外」のように2パターンだけの場合は、IF関数とAND関数の組み合わせが適しています。
数式の例
50点以上80点未満なら「〇」、それ以外は空白にする場合の数式は以下のとおりです。
=IF(AND(得点>=50, 得点<80), "〇", "")
数式の構造
この数式は、次のような構造になっています。
- AND関数で2つの条件を束ねる
得点>=50(50点以上)得点<80(80点未満)
- IF関数で判定結果を振り分ける
- 両方の条件を満たす → 「〇」を表示
- どちらか一方でも満たさない → 空白を表示
AND関数は、すべての条件がTRUE(真)のときだけTRUEを返します。そのため、「〇〇以上かつ〇〇未満」という範囲指定が実現できます。
【応用】複数のランクに分ける(IFS関数)
「A判定、B判定、C判定、再テスト」のように、結果が3つ以上ある場合はIFS関数が適しています。
IF関数の入れ子(ネスト)の問題点
IF関数だけでも複数の条件分岐は可能です。しかし、次のように入れ子にすると、数式が長く複雑になります。
=IF(得点>=80, "A", IF(得点>=60, "B", IF(得点>=40, "C", "再テスト")))
この書き方には以下の問題があります。
- カッコの対応が分かりにくい
- 条件を追加・修正するとき、ミスが起きやすい
- 他の人が見たとき、意図を理解しづらい
IFS関数を使ったシンプルな書き方
IFS関数を使えば、条件と結果のペアを左から順に並べるだけで済みます。
=IFS(得点>=80, "A", 得点>=60, "B", 得点>=40, "C", TRUE, "再テスト")
対応する得点とランクの関係は以下のとおりです。
| 得点 | ランク |
|---|---|
| 80以上 | A |
| 60以上 | B |
| 40以上 | C |
| 39以下 | 再テスト |
IFS関数を使う際の注意点
IFS関数は記述した順番に条件を評価します。最初に該当した条件の結果が返されるため、条件の記述順序が重要です。
上記の例では「以上(>=)」で判定しているため、大きい数値から順に記述しています。もし「40点以上」を先に書いてしまうと、80点の人も「40点以上」に該当するため、誤って「C」と判定されてしまいます。
基本ルール: 判定の方向に応じて順序を決めてください。
>=(以上)や>(超)で判定 → 大きい数値から順に記述<=(以下)や<(未満)で判定 → 小さい数値から順に記述
また、最後の TRUE, "再テスト" は「どの条件にも該当しない場合」の処理です。IFS関数では、すべての条件がFALSEのときN/Aエラーになるため、この記述を忘れないようにしてください。
よくある疑問とトラブルシューティング
「以上・以下」と「超・未満」の違い
比較演算子の使い分けで、判定結果が1つズレることがあります。
| 演算子 | 意味 | 例(基準値: 80) |
|---|---|---|
>= | 以上(基準値を含む) | 80, 81, 82... |
> | 超(基準値を含まない) | 81, 82, 83... |
<= | 以下(基準値を含む) | 80, 79, 78... |
< | 未満(基準値を含まない) | 79, 78, 77... |
「80点以上」と「80点超」では、ちょうど80点の人の扱いが変わります。業務要件に合わせて、正しい演算子を選択してください。
IFS関数がエラーになる場合
IFS関数はExcel 2019以降、またはMicrosoft 365で使用できます。Excel 2016以前のバージョンでは、この関数は利用できません。
古いバージョンのExcelを使用している場合は、IF関数の入れ子で対応する必要があります。
【上級者向け】補足:LET関数でセル参照をまとめる
もしMicrosoft365や最新のExcelを使っているなら、こんな便利な書き方もあります
IFS関数やIF関数とAND関数を組み合わせた数式では、同じセル参照を複数回記述することになります。これをLET関数で変数として定義する方法もあります。
=LET(
点数, A2,
IFS(点数>=80, "A", 点数>=60, "B", 点数>=40, "C", TRUE, "再テスト")
)
ただし、単純なセル参照ではLET関数を使うメリットは限定的です。以下のような場合に検討してください。
- 数式の意味を明確にしたい場合: 「A2」ではなく「点数」と記述することで、数式が何を判定しているか第三者にも伝わりやすくなる
- 参照先の変更が頻繁な場合: 変数定義を1箇所変更するだけで済むため、修正漏れを防げる
単純な数式であればLET関数を使わない形でも問題ありません。
まとめ
Excelで「〇〇以上かつ〇〇未満」の範囲指定を行う方法は2つあります。
用途に応じて使い分けることで、数式の可読性が向上し、後から修正する際のミスも減らせます。特にIFS関数は、条件を順番に並べるだけで済むため、複雑な判定ロジックを扱う場面で有効です。
関連記事
IF系関数の使い方・活用方法の記事一覧
Excel完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド
本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。
【本書の特徴】
- 情報量:Word-A4サイズ換算で1,400ページ相当
- 基本操作から高度なテクニックまで、段階的に学習可能
- 140種類の関数を詳細に解説
- 109種類の実用的なテクニックと具体例を紹介
- 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説
【対象読者】
- Excel初心者からプロフェッショナルまで
- 体系的にExcelスキルを向上させたい方
- 業務効率化を目指すビジネスパーソン
- データ分析や可視化のスキルを磨きたい方
【本書の強み】
- 実務に即した例題と解説
- 視覚的な図表やスクリーンショットで理解を促進
- 最新のExcelバージョンに対応した内容
- 著者の長年の経験に基づく、実践的なTipsを多数収録
【更新とサポート】
- 常に最新の情報を反映するため、定期的に内容を更新
- 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください
【入手方法】
- 買い切り:950円
- Kindle Unlimited:読み放題プランで利用可能
Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。