Tips1 : Excelでデータ抽出したい
こんな時に役立ちます:
・データリストから必要な情報を抽出したい。
・項目列も指定して抽出したい。
記事の結論
検索結果をいれたいセルに、この関数を入力する。
=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関数の使い方
・データの範囲を指定する
・取り出す行、列番号を指定する
ここで指定する行列番号は、
最初に指定したデータ範囲の中での行、列番号を指します。
例えば、
データ範囲がA1:C9の時、1行目1列目=A1セル
データ範囲がA5:C9の時、1行目1列目=A5セル
となります。
match関数について
match関数は簡単に言いますと、該当の文字が何行目にあるか、指定した範囲内で探す関数です。
match関数の使い方
・検索を掛ける範囲を指定する。
・検索ワードを指定する。
・検索方法を完全一致を指定する。(今回は完全一致=0)
この関数では、該当の文字が範囲内になければエラーになります。
エラーになる場合は、全角半角・空白が間違っていないか確認してください。
2. 2つの関数を組み合わせて完成
match関数で出てきた行数をindex関数に教えてあげれば、データを検索することができます。
具体的に言うと、index関数の行数の代わりに、先ほど作った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))