メインコンテンツへスキップ

Excelの数式: セルが特定の値を含むかどうかを確認し、他の値を除外する

Author: Sun Last Modified: 2025-08-06

2つの値リストがあると仮定して、セルB3が範囲E3:E5内のいずれかの値を含むかどうかを確認したいが、同時に範囲F3:F4内のいずれの値も含まないことを確認したい場合(以下のスクリーンショット参照)。このチュートリアルでは、Excelでこのタスクを迅速に処理するための数式を提供し、その数式の引数について説明します。
doc check if contain one of things but exclude 1

汎用数式:

=(SUMPRODUCT(--ISNUMBER(SEARCH(include,text)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,text)))=0)

引数

Text: 確認したいテキスト文字列。
Include: 引数textが含むかどうかを確認したい値。
Exclude: 引数textが含まないかどうかを確認したい値。

戻り値:

数式は1または0を返します。セルが含まれるべき値のいずれかを含み、除外すべき値を含まない場合、1を返します。それ以外の場合は0を返します。この数式では、1と0は論理値TRUEおよびFALSEとして扱われます。

この数式の仕組み

セルB3が範囲E3:E5内のいずれかの値を含むかどうかを確認したいが、同時に範囲F3:F4の値を除外したい場合、次の数式を使用してください。

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

押す Enter キーを押してチェック結果を得る。
doc check if contain one of things but exclude 2

説明

パート1: (SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0) は、セルがE3:E5の値を含むかどうかを確認します。

SEARCH関数: SEARCH関数は、あるテキスト文字列が別の文字列内に存在する場合、最初の文字の位置を返します。SEARCH関数が一致するテキストを見つけると、相対的な位置を返し、見つからない場合は#VALUE!エラーを返します。例えば、SEARCH($E$3:$E$5,B3)という数式は、範囲E3:E5の各値をセルB3内で検索し、セルB3内の各テキスト文字列の位置を返します。結果として次のような配列を返します:{1;7;12}

ISNUMBER関数: ISNUMBER関数は、セルが数値の場合にTRUEを返します。したがって、ISNUMBER(SEARCH($E$3:$E$5,B3))は、SEARCH関数が3つの数値を見つけた場合、{true,true,true}という配列結果を返します。

--ISNUMBER(SEARCH($E$3:$E$5,B3))は、TRUE値を1に変換し、FALSE値を0に変換します。したがって、この数式は配列結果を{1;1;1}に変更します。

SUMPRODUCT関数: 複数の範囲を掛け合わせたり、配列を合計したりして、積の合計を返します。SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))は、1+1+1=3を返します。

最後に、左側の数式を比較します。 SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) そして0を比較します。左側の数式の結果が0より大きい限り、結果はTRUEになり、そうでなければFALSEになります。ここではTRUEを返します。
doc check if contain one of things but exclude 3

パート2: (SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) は、セルがF3:F4の値を含まないかどうかを確認します。

数式SEARCH($F$3:$F$4,B3)は、範囲E3:E5の各値をセルB3内で検索し、セルB3内の各テキスト文字列の位置を返します。結果として次のような配列を返します:{#VALUE!;#VALUE!}

ISNUMBER(SEARCH($F$3:$F$4,B3))は、SEARCH関数が0個の数値を見つけた場合、{false;false}という配列結果を返します。

--ISNUMBER(SEARCH($F$3:$F$4,B3))は、TRUE値を1に変換し、FALSE値を0に変換します。したがって、この数式は配列結果を{0;0}に変更します。

SUMPRODUCT関数: 複数の範囲を掛け合わせたり、配列を合計したりして、積の合計を返します。 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))は、0+0=0を返します。

最後に、左側の数式を比較します。 SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) そして0を比較します。左側の数式の結果が0に等しい限り、結果はTRUEを返し、そうでなければFALSEを返します。ここではTRUEを返します。
doc check if contain one of things but exclude 4

パート3: 二つの数式を掛ける

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

=TRUE*TRUE

=1

この数式では、1と0は論理値TRUEおよびFALSEとして扱われます。

サンプルファイル

doc sampleクリックしてサンプルファイルをダウンロード


関連数式


最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。