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

リストに対してセル内の最初の一致する値を取得する

Author: Amanda Li Last Modified: 2025-08-06

特定のキーワードリストがあり、そのリストの中から特定のセルに最初に出現したキーワードを取得したい場合、そのセルには他のいくつかの値も含まれているため、INDEX関数と MATCH関数を使用し、AGGREGATE関数とSEARCH関数を組み合わせる必要があります。

retrieve first matching value in cell against a list 1

リストに対してセル内の最初の一致する値を取得するにはどうすればよいですか?

上記の表にあるように、特定のセルに対してキーワードリストの中から最初に一致したキーワードを取得するには、完全一致ではなく部分一致を行う必要があります。これを行うには、SEARCH関数を使用して、セル内に現れるキーワードの位置を数値でAGGREGATE関数に渡します。その後、AGGREGATE関数はfunction_numを15に設定し、ref2引数を1にすることで最小の数値を取得します。次に、MATCH関数を使用して最初の最小値を見つけ、その位置番号をINDEX関数に渡してその位置にある値を取得します。

一般的な構文

=INDEX(keyword_rng,MATCH(AGGREGATE(15,6,SEARCH(keyword_rng,lookup_cell),1),SEARCH(keyword_rng,lookup_cell),0))

√ 注: これは配列数式であり、Ctrl + Shift + Enterで入力する必要があります。

  • keyword_rng: キーワードが含まれるセル範囲です。
  • lookup_cell: キーワードが含まれているかどうかを検索するセルです。

セルB5に対してキーワード列の中で最初に一致したキーワードを取得するには、以下の数式をセルC5にコピーまたは入力し、結果を得るためにCtrl + Shift + Enterを押してください:

=INDEX($E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5),0))

√ 注: 上記のドル記号($)は絶対参照を示しており、数式を他のセルに移動またはコピーしても、数式内のkeyword_rngは変更されません。ただし、動的に変化させたいので、lookup_cellにはドル記号が追加されていません。数式を入力後、フィルハンドルを下にドラッグして、数式を下のセルにも適用します。

retrieve first matching value in cell against a list 2

数式の説明

=INDEX($E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),0))

  • SEARCH($E$5:$E$7,B5): SEARCH関数は、範囲$E$5:$E$7内の各キーワードが見つかった場合、その位置を数値で返し、見つからない場合は#VALUE!エラーを返します。結果は次のようになります:{15;11;#VALUE!}
  • AGGREGATE(15,6,AGGREGATE(15,6,SEARCH($E$5:$E$7,B5),1),1) = AGGREGATE(15,6,AGGREGATE(15,6,{15;11;#VALUE!},1),1): function_numが15オプションが6の場合、AGGREGATE関数はref2引数1に基づいて配列内の最小値を返し、エラー値は無視されます。したがって、このスニペットは11を返します。
  • MATCH(MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),1),,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),0),0) = MATCH(MATCH(11,,{15;11;#VALUE!},0),0): match_typeが0の場合、MATCH関数は完全一致を行い、配列{15;11;#VALUE!}内の11の位置を返します。したがって、この関数は2を返します。
  • INDEX($E$5:$E$7,MATCH(AGGREGATE(15,6,SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),1),SEARCH($E$5:$E$7,B5)SEARCH($E$5:$E$7,B5),0)) = INDEX($E$5:$E$7,2): INDEX関数は、範囲$E$5:$E$7内の2番目の値を返します。それはbbbです。

備考

  • セルにキーワードがない場合、#NUM!エラーが返されます。
  • この数式は大文字小文字を区別しません。大文字小文字を区別するマッチングを行うには、SEARCH関数を FIND関数に置き換えることができます。

関連する関数

Excel INDEX関数

ExcelのINDEX関数は、指定された範囲または配列からの位置に基づいて表示される値を返します。

Excel MATCH関数

ExcelのMATCH関数は、特定の値をセル範囲内で検索し、その値の相対的な位置を返します。

Excel SEARCH関数

Excelでは、SEARCH関数を使用して、与えられたテキスト文字列から特定の文字や部分文字列の位置を見つけることができます。このチュートリアルでは、ExcelでのSEARCH関数の使用方法を紹介します。

Excel AGGREGATE関数

ExcelのAGGREGATE関数は、SUM、COUNT、SMALLなどの計算を集計し、エラーや非表示行を無視するオプションがあります。


関連する数式

セルから最初のリスト値を取得する

特定のセルからリストされている最初のキーワードを取得したい場合、そのセルには複数の値が含まれているため、INDEX、MATCH、ISNUMBER、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を使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。