Excel 数式:セルが複数の項目すべてを含むかどうかを確認
Excel で列 E に値のリストがあり、列 B の各セルが列 E のすべての値を含んでいるかどうかを確認し、下のスクリーンショットのように TRUE または FALSE を返したいとします。このチュートリアルでは、このタスクを実現するための数式をご紹介します。
汎用的な数式:
| =SUMPRODUCT(--ISNUMBER(SEARCH(things,text)))=COUNTA(things) |
引数
| Things: the list of values that you want to use to check if argument text contains. |
| Text: the cell or text string you want to check if containing argument things. |
返す値:
この数式は論理値を返します。FALSE はセルがすべての項目を含んでいないことを示し、TRUE はセルがすべての項目を含んでいることを示します。
この数式の動作方法
たとえば、列 B にテキスト文字列のリストがあり、そのリストが範囲 E3:E5 内のすべての値を含んでいるかどうかを確認したい場合は、以下の数式をご利用ください。
| =SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))=COUNTA($E$3:$E$5) |
Enterキーを押した後、確認したいセルにフィルハンドルをドラッグします。FALSE はセルが範囲 E3:E5 内のすべての値を含んでいないことを示し、TRUE は対応するセルがすべての値を含んでいることを示します。
解説
SEARCH 関数:SEARCH 関数は、あるテキスト文字列内で別のテキスト文字列が最初に現れる位置を返します。テキストが見つかった場合はその位置(文字数)を返し、見つからない場合は#VALUE!エラーを返します。たとえば、数式 SEARCH($E$3:$E$5,B4)は、セル B4 内で範囲 E3:E5 の各値を検索し、それぞれのテキスト文字列がセル B4 内に現れる位置を返します。結果は次のような配列になります:{1;7;12}
ISNUMBER 関数:ISNUMBER 関数は、値が数値かどうかを判定し、TRUE または FALSE を返します。ここでISNUMBER(SEARCH($E$3:$E$5,B4))は、SEARCH 関数が3 つの数値を検出したため、次のような配列結果を返します:{true;true;true}
--ISNUMBER(SEARCH($E$3:$E$5,B4))は、TRUE 値を1 に、FALSE 値を0 に変換するため、この数式は配列結果を{1;1;1}に変更します。
SUMPRODUCT 関数:SUMPRODUCT 関数は、複数の範囲または配列の対応する要素をそれぞれ乗算し、その積の合計を返します。SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B4)))は、1+1+1=3 を返します。
COUNTA 関数:COUNTA 関数は、空白でないセルの数を返します。COUNTA($E$3:$E$5)は3 を返すため、SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B4)))の結果が3 と等しい場合、数式全体は TRUE を返し、そうでない場合は FALSE を返します。
備考:
数式 =SUMPRODUCT(--ISNUMBER(SEARCH(things,text)))=COUNTA(things)は厳密なチェックを行っていません。詳しくは以下のスクリーンショットをご確認ください:
サンプルファイル
関連する数式
- 指定した値と等しいセルをカウント
COUNTIF 関数を使えば、指定した値と一致するセルや、その値を含まないセルの個数を簡単にカウントできます。 - x または y と等しいセルをカウント
場合によっては、2 つの条件のいずれかを満たすセルの数をカウントしたいことがあります。そのような場合は、COUNTIF 関数が使えます。 - x および y と等しいセルをカウント
ここでは、2 つの条件を同時に満たすセルをカウントする数式をご紹介します。 - 指定した値と等しくないセルをカウント
この記事では、COUNTIF 関数を使って、特定の値と等しくないセルの数を簡単にカウントする方法をご紹介します!
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。