Excel一覧 Excel操作・関数 OFFSET関数・範囲参照系 関数の使い方

【Excel】「範囲内にあれば」を判定する関数まとめ|存在チェックの基本と応用

Excelでデータを扱っていると、「ある値がこの範囲の中にあるかどうか」を確認したい場面は多いですよね。
たとえば、社員名簿の中に特定の名前が存在するか、商品リストの中に指定した商品コードが含まれているかなどです。

こうした「範囲内にあれば○○する」「範囲内になければ××する」といった条件判定は、
関数を組み合わせることで自動化できます。

この記事では、Excelで「範囲内にあれば」を実現するための代表的な関数と、実務で役立つ応用例をわかりやすく解説します。

✅ 「範囲内にあれば」を判定する基本の考え方

Excelには「この値が範囲内にあるか?」を直接判定する単一の関数はありません。
そのため、次のような組み合わせで実現します。

  • COUNTIF関数
  • MATCH関数
  • IF関数との組み合わせ
  • ORANDなどの論理関数との併用

それぞれの関数をうまく活用することで、
「存在する/しない」「範囲内で一致/重複している」など、
柔軟な条件判定が可能になります。


✅ COUNTIF関数で「範囲内にあれば」を判定する

・COUNTIF関数の構文

=COUNTIF(範囲, 検索条件)

COUNTIF関数は、「指定した範囲の中で条件に合うセルの数」を数えます。
この結果が0より大きければ「範囲内にある」、0なら「範囲内にない」と判断できます。

参考:【Excel】COUNTIF関数を使用して条件一致の分析方法


・例1:範囲内に値が存在するか判定する

たとえば、A列に商品コード一覧があり、B1に「検索したいコード」が入力されているとします。

=IF(COUNTIF(A:A, B1) > 0, "あり", "なし")

この式は次のように動作します。

  • COUNTIFがB1の値をA列の中で検索
  • 見つかった場合(1以上)は「あり」
  • 見つからなければ「なし」

つまり、「範囲内にあれば 'あり'」と自動判定する仕組みです。


・例2:複数条件で範囲内を判定する

COUNTIFを拡張したCOUNTIFS関数を使えば、複数条件を同時に確認できます。

例:商品コードが一致し、かつ数量が100以上なら「対象」と表示する

=IF(COUNTIFS(A:A,B1,B:B,">=100")>0,"対象","非対象")

COUNTIFSは複数の範囲を指定して条件を組み合わせられるため、
「特定条件を満たすデータが範囲内にあるか?」の判定に最適です。
参考:【Excel】COUNTIFS関数の複数条件指定方法とは?Excelで精密なデータ集計を行う実務テクニック


✅ MATCH関数で「範囲内にあれば」位置を特定する

・MATCH関数の構文

=MATCH(検索値, 検索範囲, [照合の種類])

MATCH関数は、指定した値が範囲内の何番目にあるかを返します。
見つからない場合は「#N/A」エラーになります。
この性質を利用して「範囲内にあるか」を判定できます。

参考:【Excel】IFNA関数で複数条件を処理する方法|VLOOKUP・INDEX/MATCH・IFとの組み合わせでExcel作業を効率化


・例1:範囲内にあれば「あり」と表示する

=IF(ISNUMBER(MATCH(B1, A:A, 0)), "あり", "なし")

  • MATCH(B1,A:A,0) → B1の値をA列で検索
  • 見つかれば位置(数値)を返す
  • 見つからなければ#N/Aになる
  • ISNUMBERで数値が返ったかどうかを判定

この組み合わせで、「B1がA列に含まれているか」を判断できます。


・例2:範囲内にある場合に別の値を返す

=IF(ISNUMBER(MATCH(B1, A:A, 0)), C1, "")

範囲内にB1の値が見つかった場合のみ、C1の内容を返します。
「該当データがあるときだけ値を出す」ような条件分岐が可能です。


・例3:範囲内にない場合に別の動作をする

逆に「範囲内になければ~する」処理も可能です。

=IF(ISNA(MATCH(B1, A:A, 0)), "未登録", "登録済み")

MATCHがエラーを返した場合に「未登録」と表示するようにしています。
マスタ照合やリスト確認に役立つ書き方です。

参考:【Excel】「IF(ISERROR)」を組み合わせて使う方法|VLOOKUP・除算・MATCHへの応用テクニック




✅ OR・AND関数で複数範囲を同時に判定する

・例1:複数列のいずれかに存在する場合

=IF(OR(COUNTIF(A:A,B1)>0, COUNTIF(B:B,B1)>0), "あり", "なし")

この式では、A列またはB列のいずれかにB1の値があれば「あり」と表示します。
複数のリストを同時にチェックする場合に便利です。

参考:【Excel】IF関数で複数条件を指定する方法とは?AND・OR・IFSまで完全ガイド!


・例2:すべての範囲に含まれているか確認

=IF(AND(COUNTIF(A:A,B1)>0, COUNTIF(B:B,B1)>0), "共通", "不一致")

A列とB列の両方に存在する場合のみ「共通」と判定します。
リスト比較や重複データチェックに最適です。


✅ 部分一致で「範囲内にあれば」を判定する

COUNTIF関数やMATCH関数では「部分一致検索」も可能です。
ワイルドカード(* や ?)を活用するのがポイントです。


・例1:「特定の文字を含むデータ」が範囲内にあるか

=IF(COUNTIF(A:A, "*東京*")>0, "あり", "なし")

「東京」という文字列を含むセルがA列に存在する場合、「あり」と表示します。
部分一致検索では「*(アスタリスク)」が有効です。

参考:【Excel】特定の文字列を条件にするVLOOKUPの使い方とは?IFやCOUNTIFと組み合わせて柔軟なデータ取得を実現する方法


・例2:「先頭が特定の文字で始まる」場合

=IF(COUNTIF(A:A, "A*")>0, "あり", "なし")

Aで始まる文字列(例:A001、Appleなど)が範囲内にある場合に「あり」となります。
コードや型番の前方一致検索などで便利です。


✅ 実務での応用例:「範囲内にあれば○○する」

・1. 商品コードが登録済みなら「済」と表示

=IF(COUNTIF(マスタ!A:A, B2)>0, "済", "未")

マスタシートのA列に存在すれば「済」、なければ「未」。
マスタ照合や入荷リストチェックなどで頻繁に使われます。


・2. 名簿の中に特定の名前があれば背景色を変更(条件付き書式)

  1. 対象範囲を選択(例:A2:A100)
  2. 条件付き書式 → 新しいルール
  3. 数式に次を入力:
    =COUNTIF($A$2:$A$100,$B$1)>0
  4. 書式を設定してOK

これで、B1に入力した名前が範囲内にあるとき、該当セルが自動で色付きになります。
視覚的に存在確認を行いたいときに便利です。


・3. 複数条件で存在判定(地域+商品)

=IF(COUNTIFS(A:A,"東京",B:B,"りんご")>0,"あり","なし")

A列が「東京」、B列が「りんご」という組み合わせが存在するかを確認します。
販売リストなどで、地域と商品をセットでチェックしたい場合に使えます。


✅ ISNUMBER+SEARCH関数で範囲内の「部分一致」を柔軟に扱う

MATCHやCOUNTIFではできない複雑な部分一致は、SEARCH関数を利用します。

・例:複数条件を含むセルが範囲内にあるかチェック

=IF(SUMPRODUCT(--ISNUMBER(SEARCH("東京",A2:A100)))>0,"あり","なし")

SEARCH関数が「東京」を含むセルを数値で返し、ISNUMBERがそれを判定します。
SUMPRODUCTで合計し、1以上なら「あり」。
大量データの部分一致にも強い組み合わせです。


✅ まとめ:Excelで「範囲内にあれば」を正確に判定する方法

  • 「範囲内にあれば」を判定するには、COUNTIF・MATCH・IF関数の組み合わせが基本。
  • COUNTIFで「範囲内に存在するか」を数値で確認できる。
  • MATCH+ISNUMBERで「位置の有無」を判定可能。
  • 部分一致にはワイルドカード(*)やSEARCH関数が効果的。
  • 条件付き書式やIF構文と組み合わせれば、実務での自動化も容易。

これらを理解すれば、「データの存在確認」や「リスト照合」など、
Excelでの確認作業を自動化でき、手作業のチェックミスも大幅に減らせます。
特にCOUNTIFとMATCHは、Excelで「範囲内にあれば」を実現する最重要関数といえるでしょう。

-Excel一覧, Excel操作・関数, OFFSET関数・範囲参照系, 関数の使い方