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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Sun Last modified

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 Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |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含む)にもたらします。