セルから最初のリスト値を取得する
特定のセルにリストされているキーワードのうち、最初のものを取得したい場合、そのセルが複数の値を含んでいる中で、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 Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |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含む)にもたらします。