セルから最初のリスト値を取得する
特定のセルにリストされているキーワードのうち、最初のものを取得したい場合、そのセルが複数の値を含んでいる中で、INDEX、MATCH、ISNUMBER、SEARCH関数を使用したかなり複雑な配列数式を使う必要があります。
セルから最初のリスト値を取得するにはどうすればよいですか?
上記のように「キーワード」列に対してセル内に含まれる最初の一致するキーワードを取得するには、完全一致ではなく部分一致を行う必要があります。これを行うには、ISNUMBERとSEARCH関数を組み合わせてTRUEとFALSEの配列を取得し、次にMATCHを使用して最初のTRUE値の位置を見つけ、その位置番号をINDEXに渡してその位置にある値を取得します。
汎用構文
=INDEX(keyword_rng,MATCH(TRUE,ISNUMBER(SEARCH(keyword_rng,lookup_cell)),0))
√ 注: これは配列数式であり、Ctrl + Shift + Enterで入力する必要があります。
- keyword_rng: キーワードを含むセルの範囲です。
- lookup_cell: キーワードを含むかどうかを確認するセルです。
セルB5からキーワードリスト内の最初の一致を見つけるには、以下の数式をセルC5にコピーまたは入力し、結果を得るためにCtrl + Shift + Enterを押してください:
=INDEX(($E$5:$E$7,MATCH(TRUE,ISNUMBER(SEARCH(($E$5:$E$7,B5)),0))
√ 注: 上記のドル記号($)は絶対参照を示しており、数式を他のセルに移動またはコピーしても、数式内のkeyword_rngは変更されません。ただし、動的にしたいので、lookup_cellにはドル記号が追加されていません。数式を入力した後、フィルハンドルを下にドラッグして数式を下のセルに適用します。
数式の説明
=INDEX(($E$5:$E$7,MATCH(TRUE,ISNUMBER(SEARCH($E$5:$E$7,B5)),0))
- SEARCH($E$5:$E$7,B5): SEARCH関数は、範囲$E$5:$E$7内のキーワードが見つかった場合、その位置を数値で返し、見つからない場合は#VALUE!エラーを返します。結果は次のような配列になります:{15;11;#VALUE!}。
- ISNUMBER(ISNUMBER(SEARCH($E$5:$E$7,B5))) = ISNUMBER(ISNUMBER({15;11;#VALUE!})): ISNUMBER関数は、配列内の数値をTRUEに、#VALUE!値をFALSEに変換します。結果は次のようになります:{TRUE;TRUE;FALSE}。
- MATCH(TRUE,MATCH(TRUE,ISNUMBER(SEARCH($E$5:$E$7,B5)),0),0) = MATCH(TRUE,MATCH(TRUE,{TRUE;TRUE;FALSE},0),0): match_type 0は、MATCH関数に完全一致を実行させ、配列{TRUE;TRUE;FALSE}内の最初のTRUEの位置を返します。したがって、この関数は1を返します。
- INDEX(($E$5:$E$7,MATCH(TRUE,ISNUMBER(SEARCH($E$5:$E$7,B5)),0)) = INDEX(($E$5:$E$7,1): INDEX関数は、範囲$E$5:$E$7内の最初の値を返します。この場合、それはAAAです。
備考
- セルに2つ以上のキーワードが含まれている場合、数式はキーワード範囲にリストされている最初のキーワードを返します。
- この数式は大文字と小文字を区別しません。大文字と小文字を区別するマッチを行うには、SEARCH関数をFINDに置き換えることができます。
- また、セルがこの文字列を含んでいるかどうかだけを確認したい場合、キーワードリストをハードコードされた文字列(例:{"AAA"})に置き換えることもできます。
関連する関数
ExcelのINDEX関数は、指定された範囲または配列からの位置に基づいて表示される値を返します。
ExcelのMATCH関数は、特定の値をセルの範囲内で検索し、その値の相対的な位置を返します。
Excelでは、SEARCH関数を使用すると、与えられたテキスト文字列から特定の文字や部分文字列の位置を見つけることができます。このチュートリアルでは、ExcelでSEARCH関数を使用する方法を紹介します。
関連する数式
キーワードのリストがあると仮定して、特定のセルに現れる最初のキーワードを取得したい場合、そのセルがいくつかの他の値を含んでいる中で、AGGREGATEおよびSEARCH関数の助けを借りたINDEXとMATCHの数式を使用する必要があります。
特定の製品、映画、人物などの情報がExcelにリストされているかどうかを調べる必要がある場合、INDEXとMATCH関数の組み合わせをうまく活用する必要があります。
このチュートリアルでは、セルが特定のテキストを含んでいるかどうかを確認し、TRUEまたはFALSEを返す数式を提供し、引数について説明し、数式がどのように機能するかを解説します。
Excelで、列Eに値のリストがあり、列Bのセルが列Eのすべての値を含んでいるかどうかを確認し、TRUEまたはFALSEを返したいとします。このチュートリアルでは、このタスクを解決するための数式を提供します。
このチュートリアルでは、セルがExcelで複数の値のいずれかを含んでいるかどうかを確認するための数式を提供し、数式内の引数とその動作について説明します。
最高のオフィス生産性ツール
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含む)に効率的なタブをもたらします。