MENU

Tips1 : Excelでデータ抽出したい

eyecatch_1

こんな時に役立ちます:

  ・データリストから必要な情報を抽出したい。

  ・項目列も指定して抽出したい。

記事の結論

  検索結果をいれたいセルに、この関数を入力する。

  =index(data!$A$1:$Z$1000, match($B3,data!$A$1:$A$1000,0),match(C$2,data!$A$1:$Z$1,0))

  =index(データ領域, match(検索ワード,データ名列指定,0),match(見出し,データ見出し行指定,0))

 

この記事のアウトライン

1. 基本:index関数, match関数の意味

index関数について

index関数は簡単に言いますと、指定した場所のデータを取り出す関数です。

index_function

index関数の使い方

・データの範囲を指定する
・取り出す行、列番号を指定する

  ここで指定する行列番号は、

  最初に指定したデータ範囲の中での行、列番号を指します。

 

例えば、

  データ範囲がA1:C9の時、1行目1列目=A1セル

  データ範囲がA5:C9の時、1行目1列目=A5セル

となります。

  

match関数について

match関数は簡単に言いますと、該当の文字が何行目にあるか、指定した範囲内で探す関数です。

match_function

match関数の使い方

・検索を掛ける範囲を指定する。
・検索ワードを指定する。

・検索方法を完全一致を指定する。(今回は完全一致=0)

  この関数では、該当の文字が範囲内になければエラーになります。

  エラーになる場合は、全角半角・空白が間違っていないか確認してください。

2. 2つの関数を組み合わせて完成

match関数で出てきた行数をindex関数に教えてあげれば、データを検索することができます。

具体的に言うと、index関数の行数の代わりに、先ほど作ったmatch関数を入れるだけです。index_and_match

この場合、match関数は「ねこ」で検索しているので、

match(A1:A9,'ねこ',0) = 8 となります。

この8がindex関数に渡されるため、結果として「ねこ」行のデータを取り出すことができます。

 

注意:

  match関数の検索範囲の始め行と、index関数のデータ範囲の始め行を合わせてください。

 

データ範囲がA1:C9の時、match関数の範囲=A1:A9(9以上)

データ範囲がA5:C9の時、match関数の範囲=A5:A9(9以上)

 

  与えられた範囲内の番号をお互い素直に使うので、ここを合わせないと取り出したいデータがずれてしまいます。

3. まとめ:忙ぐ人はこれだけ

  検索結果をいれたいセルに、この関数を入力する。

  =index(data!$A$1:$Z$1000, match($B3,data!$A$1:$A$1000,0),match(C$2,data!$A$1:$Z$1,0))

  =index(データ領域, match(検索ワード,データ名列指定,0),match(見出し,データ見出し行指定,0))