Excel。VLOOKUP関数をつかって行方向のデータを列方向で抽出表示したい
<VLOOKUP+ROW関数>
VLOOKUP関数は、抽出表示するのに便利な関数です。
ただ、行方向のデータを、行方向に抽出表示するのではなく、行方向のデータを、「列方向」に抽出表示したい場合、どのようにしたら、手早く数式を設定することができるのでしょうか。
ポイントは、下方向にオートフィルで数式をコピーしますが、3番目の引数の「列番号」をどのように設定してあげたらいいのかという点です。
その点を踏まえて、次の数式を、B7に設定します。
=VLOOKUP($B$6,$A$2:$D$4,ROW(A2),FALSE)
あとは、オートフィルで数式をコピーします。
これで、B6のNOを変えるだけで、氏名~Listeningまでを該当の番号の氏名からListeningまでを抽出表示することができます。
では、数式を確認しておきましょう。
最初の引数は「検索値」。
NOに該当するデータを抽出したいので、「B6」を設定します。
ただ、オートフィルで数式をコピーしますので、絶対参照の設定をしなければなりませんので、「$B$6」と設定します。
2つ目の引数の「範囲」。
これは、抽出元のデータベースなので、見出し行を除いた、「$A$2:$D$4」と設定します。
こちらも絶対参照が必要ですね。
3つ目の引数が「列番号」。
直接数値を入力して変更してもいいかもしれませんが、数式の数が増えれば増えるだけ、修正数が増えるので、面倒です。
2・3・4と数値を変える方法を考える必要があります。
そこで、行番号を算出することができるROW関数をつかうことで、対応することができます。
よって、「ROW(A2)」と設定することで、この問題を解決することができます。
ROW(A2)=2と算出されます。
オートフィルで下方向にコピーすれば、ROW(A3)となりますから、3と算出され、3列目のデータを抽出することができるというわけです。
最後の引数は「検索方法」は、完全一致なので「FALSE」と設定します。