Excelの数式: セルが特定の値を含むかどうかを確認し、他の値を除外する
2つの値リストがあると仮定して、セルB3が範囲E3:E5内のいずれかの値を含むかどうかを確認したいが、同時に範囲F3:F4内のいずれの値も含まないことを確認したい場合(以下のスクリーンショット参照)。このチュートリアルでは、Excelでこのタスクを迅速に処理するための数式を提供し、その数式の引数について説明します。
汎用数式:
| =(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 キーを押してチェック結果を得る。
説明
パート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を返します。
パート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を返します。
パート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として扱われます。
サンプルファイル
関連数式
- セルが特定のテキストを含むかどうかを確認する
セルが範囲A内のいくつかのテキストを含むが、範囲B内のテキストを含まないかどうかを確認したい場合、COUNT、SEARCH、AND関数を組み合わせた配列数式を使用できます。 - セルが複数のもののいずれかを含むかどうかを確認する
このチュートリアルでは、セルがExcelで複数の値のいずれかを含むかどうかを確認するための数式を提供し、その数式の引数と数式の動作について説明します。 - セルが複数のもののいずれかを含むかどうかを確認する
Excelで、列Eに値のリストがあり、列Bのセルが列Eのすべての値を含むかどうかを確認し、TRUEまたはFALSEを返したいと仮定します。 - セルが数値を含むかどうかを確認する
場合によっては、セルが数値文字を含むかどうかを確認したい場合があります。このチュートリアルでは、セルが数値を含む場合にTRUEを返し、数値を含まない場合にFALSEを返す数式を提供します。
最高のオフィス生産性ツール
Kutools for Excel - 群衆から一歩抜け出すためのお手伝い
| 🤖 | KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行 | コード生成 | カスタム数式を作成 | データを分析しチャートを生成 | Kutools 機能を呼び出し… |
| 人気機能: 重複を検索、ハイライト、または特定 | 空白行を削除 | データを失うことなく列やセルを結合 | 数式を使わずに丸める ... | |
| スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト: 簡単ドロップダウンリスト | 依存ドロップダウンリスト | 複数選択ドロップダウンリスト... | |
| 列マネージャー: 特定の数の列を追加 | 列を移動 | 非表示列の可視性ステータスを切り替え | 列を比較して同じおよび異なるセルを選択 ... | |
| 注目機能: グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) | 日付ピッカー | ワークシートを統合 | セルの暗号化/復号化 | リストによるメール送信 | スーパーフィルター | 特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ... | |
| 上位15のツールセット: 12個の テキストツール(テキストの追加、特定の文字を削除 ...) | 50以上の チャート タイプ(ガントチャート ...) | 40以上の実用的な 数式(誕生日に基づいて年齢を計算 ...) | 19個の 挿入ツール(QRコードの挿入、パスからの画像挿入 ...) | 12個の 変換ツール(単語に変換する、通貨変換 ...) | 7つの マージ&分割ツール(高度な行のマージ、Excelセルの分割 ...) | ... など |
Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...
Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に
- 数十の開いている文書間を1秒で切り替え!
- 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
- 複数の文書を閲覧・編集する際の作業効率を50%向上します。
- Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。