excel

【Excel】エクセルで以上・以下を判定する方法(IF関数・比較演算子・未満・抽出・値を返す)

エクセルで以上・以下を判定する基本方法【IF関数と比較演算子】
当サイトでは記事内に広告を含みます

Excelで売上、点数、在庫数、期限などを管理していると、ある数値が基準以上か、基準以下かを自動で判定したい場面があります。

たとえば80点以上を合格、10個未満を要発注、予算以下を達成と表示できれば、表の確認作業は大きく楽になります。

以上は「以上の値を含む」条件であり、Excelでは主に「>=」を使います。

以下は「以下の値を含む」条件であり、Excelでは主に「<=」を使います。

この記事では、IF関数と比較演算子を使って以上・以下・未満を判定し、条件に合う値を返したり抽出したりする方法を、1行目に見出しがあるサンプルデータで解説します。

数式をコピーして使えるように、セル参照、文字列の表示、複数条件の作り方まで確認していきましょう。

 

エクセルで以上・以下を判定する基本方法【IF関数と比較演算子】

エクセルで以上・以下を判定する基本方法【IF関数と比較演算子】

それではまず、Excelで以上・以下を判定するもっとも基本的な数式について解説していきます。

A列 商品名 B列 点数 C列 判定
田中 85 合格
佐藤 72 不合格

 

以上を判定する比較演算子

Excelで「以上」を表す比較演算子は「>=」です。

B2セルの点数が80以上なら合格、それ以外なら不合格と表示する場合は、C2セルに次の数式を入力します。

=IF(B2>=80,”合格”,”不合格”)

IF関数は、最初の条件が正しいときの値と、正しくないときの値を分けて返す関数です。

この式ではB2>=80が条件であり、B2が80、81、85、100なら「合格」が返ります。

「以上」は基準値そのものを含むため、80点ちょうども合格になる点が重要です。

数式を入力したら、C2セル右下の小さな四角を下へドラッグすると、行ごとの判定へコピーできます。

 

以下を判定する比較演算子

「以下」を表す比較演算子は「<=」です。

たとえば在庫数が10以下なら発注対象、それより多ければ在庫ありと表示する数式は次のとおりです。

=IF(B2<=10,”発注対象”,”在庫あり”)

この場合、B2が10であれば発注対象になります。

「10以下」と「10未満」は似ていますが、境界となる10を含むかどうかが異なります。

条件を作る前に、基準値を含める必要があるかを業務ルールと照らし合わせると、判定ミスを防げます。

 

未満と超過の書き分け

未満は「<」、超過は「>」で判定します。

たとえば60点未満を再試験、それ以外を通常とする場合は、=IF(B2<60,”再試験”,”通常”)と入力します。

「未満」は基準値を含まないため、60点は再試験ではなく通常になる仕組みです。

反対に、売上が目標額を超過したかを見るなら、=IF(B2>100000,”目標超過”,”目標以内”)のように記述します。

【操作のポイント】以上と以下では「=」を付け、未満と超過では「=」を付けないように入力します。

 

IF関数で条件別の値を返す設定【文字列と数値】

続いては、判定結果として文字や数値を返すIF関数の使い方を確認していきます。

A列 担当者 B列 売上 C列 支給額
鈴木 120000 5000
高橋 95000 0

 

文字列を返すIF関数

判定に応じて「対象」「対象外」「達成」などの文字を表示したいときは、返す文字をダブルクォーテーションで囲みます。

売上が100000以上なら達成と表示する数式は、=IF(B2>=100000,”達成”,”未達成”)です。

文字列を囲むダブルクォーテーションを忘れると、Excelは文字を名前として解釈し、エラーになることがあります。

表示したい文言を変更するだけで、同じ判定式をさまざまな帳票へ流用できます

空欄を返したい場合は、最後の引数を””にして、=IF(B2>=100000,”達成”,””)と入力します。

IF関数で条件別の値を返す設定【文字列と数値】

 

数値を返すIF関数

IF関数は文字だけでなく、手当額、割引額、ポイント数のような数値も返せます。

売上が100000以上なら5000、それ以外なら0を返す場合は次の数式です。

=IF(B2>=100000,5000,0)

返す値が数値なら、ダブルクォーテーションは不要です。

この結果をSUM関数で集計すれば、条件を満たした人だけに支給する金額の合計も求められます。

金額を返すセルには、ホームタブの数値グループから桁区切りや通貨表示を設定すると、表が読みやすくなります。

 

基準値をセル参照する設定

数式内に80や100000を直接書く方法は簡単ですが、基準が変わるたびに数式を修正する必要があります。

そこで、たとえばE1セルに合格基準の80を入力し、C2セルでは=IF(B2>=$E$1,”合格”,”不合格”)と指定します。

ドル記号を付けた$E$1は絶対参照であり、数式を下へコピーしても参照先がE1のまま固定されます。

基準値を別セルに置くと、運用中のルール変更に強い表になります

【操作のポイント】複数行へコピーする基準値は、F4キーで絶対参照にすると参照ずれを防げます。

 

以上・以下と未満を組み合わせる範囲判定【AND関数】

続いては、指定した範囲内かどうかを判定するAND関数の使い方を確認していきます。

A列 氏名 B列 年齢 C列 区分
山田 28 対象
伊藤 41 対象外

 

二つの条件を満たす範囲判定

20歳以上40歳以下のように、下限と上限の両方を確認したい場合はAND関数を使います。

=IF(AND(B2>=20,B2<=40),”対象”,”対象外”)

AND関数は、指定したすべての条件が正しいときだけTRUEを返します。

この式では20以上であり、かつ40以下であることが必要です。

境界の20と40を対象に含めるため、両方の比較演算子に「=」を付けます

 

以上かつ未満の期間区分

商品価格が1000以上3000未満のように、上限だけを含めない範囲も設定できます。

その場合は、=IF(AND(B2>=1000,B2<3000),”標準帯”,”対象外”)と入力します。

この式では1000は標準帯ですが、3000は標準帯ではありません。

料金表や年齢区分では、重複を防ぐために「以上かつ未満」で区切る設計がよく使われます。

以上・以下と未満を組み合わせる範囲判定【AND関数】

たとえば3000以上5000未満、5000以上というように並べると、どの数値も一つの区分だけに入ります。

 

複数条件での判定順序

IF関数を重ねると、三段階以上の判定も可能です。

点数が80以上ならA、60以上ならB、それ以外ならCとする数式は、=IF(B2>=80,”A”,IF(B2>=60,”B”,”C”))です。

このような式では、厳しい条件から順に判定することが大切です。

60以上を先に判定すると80点以上もBになってしまうため、上位条件を先に置きます

【操作のポイント】範囲判定では、境界値がどの区分に入るかを先に表へ書き出して確認します。

 

条件に合うデータの抽出方法【フィルターとFILTER関数】

続いては、以上・以下の条件に合う行だけを一覧にする抽出方法を確認していきます。

A列 商品 B列 在庫数 C列 発注判定
ノート 8 発注
ペン 25 不要

 

オートフィルターで以上・以下を絞り込む方法

数式を使わずに一時的な対象行だけを見たい場合は、オートフィルターが便利です。

表内のセルを選択し、データタブからフィルターを設定すると、各見出しに絞り込みボタンが表示されます。

B列のボタンを選択し、数値フィルターから指定の値以上または指定の値以下を選び、基準値を入力します。

フィルターは元データを削除せず、条件に合わない行を一時的に非表示にする機能です。

対象一覧を確認した後は、フィルターをクリアすれば全行を再表示できます。

在庫管理.xlsx – Excel ● □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
太字 B
罫線
フィルター
fx =IF(B2<=10,”発注”,”不要”)
A B C
1 商品 ▼ 在庫数 ▼ 判定
2 ノート 8 発注
3 ペン 25 不要
数値フィルターから
指定の値以下を選択

 

FILTER関数で抽出結果を別の場所へ表示する方法

Microsoft 365やExcel 2021以降では、FILTER関数で条件に合うデータを別の場所へ自動表示できます。

A2:C10の表から、B列の在庫数が10以下の行だけを抽出する数式は次のとおりです。

=FILTER(A2:C10,B2:B10<=10,”該当なし”)

FILTER関数は、条件を満たす複数の行をまとめて返します。

抽出先の右側や下側にデータが入っていると結果を展開できないため、十分な空白セルを用意しましょう。

FILTER関数は元表の値が変わると抽出結果も自動で更新されるため、発注リストや対象者リストの作成に向いています。

 

判定列を使った抽出の考え方

複雑な条件では、最初にC列などへ判定結果を作り、その判定列をフィルターする方法が分かりやすくなります。

たとえばC2に=IF(AND(B2>=5,B2<=10),”確認”,””)と入力すれば、5以上10以下の行だけに確認と表示できます。

その後にC列で確認だけを絞り込めば、数式を見直すことなく対象データを確認できます。

【操作のポイント】継続的に使う一覧は判定列を残し、一度だけ確認する作業は数値フィルターを使い分けます。

 

エラーを防ぐ数式の入力方法【空白セルと絶対参照】

続いては、以上・以下の判定で起こりやすいエラーを防ぐ入力方法を確認していきます。

A列 商品 B列 数量 C列 判定
封筒
用紙 6 発注

 

空白セルを判定対象から外す方法

通常の=IF(B2<=10,”発注”,”不要”)では、B2が空白でも発注と表示される場合があります。

未入力行を空白のままにしたいときは、最初に空白かどうかを確認します。

=IF(B2=””,””,IF(B2<=10,”発注”,”不要”))

この数式ではB2が空欄ならC2も空欄となり、数値が入力されたときだけ判定を行います。

入力途中の表では空白判定を加えると、不要な表示を減らせます

 

数値が文字列になっている場合

見た目は数値でも、先頭にアポストロフィが付いていたり、外部システムから文字として取り込まれたりすると、正しく比較できないことがあります。

セルの左上に緑色の三角が表示される場合は、警告メニューから数値に変換を選択できます。

VALUE関数を使い、=IF(VALUE(B2)>=80,”合格”,”不合格”)のように数値化してから判定する方法もあります。

ただし、空白や文字が混ざるデータではエラーになる可能性があるため、元データの形式を整えることが基本です。

 

数式コピーで参照がずれる場合

基準値をE1セルに置いたのに、下方向へコピーしたらE2、E3とずれてしまうケースがあります。

この場合は、=IF(B2>=$E$1,”合格”,”不合格”)のように基準セルを絶対参照にします。

行ごとに変わる値は相対参照、固定したい基準は絶対参照という考え方を覚えておくと便利です。

【操作のポイント】数式をコピーする前に、基準値のセルだけに$が付いているか確認します。

 

まとめ エクセルで以上・以下を判定する方法【未満・抽出・値を返す】

Excelで以上・以下を判定するには、比較演算子とIF関数を組み合わせる方法が基本です。

以上は>=、以下は<=、未満は<、超過は>を使います。

80点以上を合格にするなら=IF(B2>=80,”合格”,”不合格”)、10以下を発注対象にするなら=IF(B2<=10,”発注対象”,”在庫あり”)のように設定できます。

範囲を指定したいときはAND関数を使い、20以上40以下なら=IF(AND(B2>=20,B2<=40),”対象”,”対象外”)と入力します。

条件に合う行を確認するだけならフィルター、別の場所へ自動で一覧を出すならFILTER関数が便利です。

基準値を別セルに入力し、絶対参照で数式に取り込む方法を使えば、ルール変更にも対応しやすくなります。

空白セルや数値の形式にも注意しながら、目的に合う以上・以下の判定表を作成していきましょう。