vlookup関数で複数列のデータを一気に取得する方法

こんにちは。ユージーン(@Eugene_no2)です!

わたしは仕事で、ほぼ毎日Excelを使っています。

その中で覚えた関数のテクニックなどについて、ときどきこのサイトで紹介しています。

合わせて読みたい ビジネススキル | No.2宣言

今回は、vlookup関数で、複数列を一気に取得する方法を解説します。

vlookup関数で、複数列取得したい場合は?

仕事でvlookup関数を使っている人は多いと思いますが、意外と応用できずに苦労している人も多いように感じます。例えば、こんなケース。

vlookupで複数列取得したいケース

A列からD列にある都道府県別の気象データの中から、G~I列(複数列)にそれぞれ欲しいデータを持ってきたいとします。

こんなとき、どのように関数を入力すべきでしょうか。ちょっと考えてみてください。

vlookupで複数列取得したいケース

では、先にわたしの答えを出しましょう。

まず、関数を入力する前に、持ってきたい表の上部に、次のように数字を打ち込みます。

まず、表の上部に数字を打ち込む

そして、G6セルに次のように関数を入力します。

=VLOOKUP($F6,$A:$D,G$2,FALSE)

vlookup関数を入力

この関数の解説については、次の章で書きますが、このようにvlookup関数を書くメリットは、今回のように複数列取得したい場合でも、最初に関数を書いたG6セルを、他のセルにコピーすれば一気に完成するからです。

関数は1つで後はコピペでOK

では、次に関数のポイントを解説していきます。

ポイント① 検索値の列を絶対参照にする

まず1つ目のポイントは、検索値(下の赤字)の部分です。

=VLOOKUP($F6,$A:$D,G$2,FALSE)

検索値を、「F6」のように相対参照のままにしておくと、縦(行)にコピーする分には良いですが、横(列)にコピーしていくと、検索値がG列、H列と、本来取得したい列とずれてしまうんです。

検索値は列を固定しなければいけない

検索値は、F列に固定しなければならないということ。

つまり、「$F6」というように検索値は、絶対参照にしておく必要があるということ。

これが1つ目のポイントです。

ポイント② 取得列

複数列を取得するvlookup関数のポイント2つ目は、 列番号(下の赤字)の部分です。

=VLOOKUP($F6,$A:$D,G$2,FALSE)

列番号は、参照する範囲にうち、何列目のデータを取得してくるのかを指定します。

今回のデータで言えば、年平均気温を取得したいなら2(列目)、年平均湿度を取得したいなら3(列目)、年間降水量を取得したいな4(列目)という具合です。

vlookup関数を入力

vlookup関数をあまり使いこなせていない方は、ここに直接数字を打ち込んでいる方が多いと思います。

例えば、2列目のデータを取得したければ、次のように。

=VLOOKUP($F6,$A:$D,2,FALSE)

もちろん、直接数字を打ち込んだとしても、決して間違いではありません。

しかし、今回のように複数列のデータを取得したい場合には、ちょっと不便なんです。

なぜなら、複数列のデータを取得するために、1列目のセル(数式)を、隣の列にコピーしても、列番号は全ての列で、2のままになってしまうからです。

全ての列の列番号が同じになってしまう

これでは、同じデータが3列並ぶだけで、欲しいデータを正しく持ってくる事は出来ません。列番号を手入力で各列ごと3、4と変更していけばうまくいきますが、まあ面倒ですよね。

では、どうすればいいかと言うと、冒頭に書いた答えのように、表の上に、参照用の列番号を入力する方法がオススメです。

表の上に参照用の列番号を用意する

そして、ここを「G$2」というように、絶対参照させれば、複数列に関数をコピーしても、それぞれ「H2」セル、「I2」セルを参照してくれるので、正しいデータを引っ張ってくる事が出来るということです。

=VLOOKUP($F6,$A:$D,G$2,FALSE)

セルのコピペで完成!

もちろん、元データと取得したいデータの順番が違っていても、参照用の列番号の数値を変更すれば、欲しいデータを一発で取得出来るようになりますね。

ということで、今回は、Excelのvlookup関数で、複数列を一気に取得する使い方法を紹介しました。

他にも、PPTやExcelの便利技など書いてますので、お役に立てば嬉しいです。

合わせて読みたい ビジネススキル | No.2宣言

では、今日も頑張らずに楽しんでいきましょう~!