liquidjumper Googleスプレッドシート Googleスプレッドシート-VLOOKUP関数で複数列の値を取得する方法

Googleスプレッドシート-VLOOKUP関数で複数列の値を取得する方法

googlespreadsheet_vlookup_obtain_multi-column_values_topimage

VLOOKUP()は検索キーで垂直方向に検索をして、ヒットした列の行内にある指定した列番号のセルの値を返す関数です。


Googleスプレッドシートに入力したデータを検索する際に便利な関数ですが、不自由に感じる点として

返される値が指定した一列のみ

という部分。


Googleスプレッドシートのヘルプには、値を返す「列番号」を第3引数に指定する様にと記載されています。


VLOOKUP(検索キー, 範囲, 番号, [並べ替え済み])


検索にヒットした値と同じ行内から返す値が1つで良いなら、全然問題は無いのですが、複数列の値を返したい場合は悩みどころ。


しかし、、VLOOKUP関数の記述方法を少し工夫すると、複数の列番号を指定し、そして複数の値を一度に返すことが可能になります。


そこで本記事では、GoogleスプレッドシートのVLOOKUP関数で複数列の値を取得する方法を紹介したいと思います。


VLOOKUPの基本的な使い方

VLOOKUP()は指定した範囲の1列目を検索キーで垂直方向に検索。

ヒットした列の行内にある指定した列番号のセルの値を返す関数です。


VLOOKUP(検索キー, 範囲, 値を返す列の番号, [近似照合の有無])


・第1引数で検索キー(例: 42、”イヌ”、B14)を指定
・第2引数で範囲を指定
・第3引数で値を返す列番号を指定(左から1列目が列番号1)
・第4引数で近似照合を有効にするかどうかを指定

指定した範囲の1列目から検索キーに該当する値を見つけ、同じ行内の指定した列番号の値を返します。


例:

地点「沓形(クツガタ)」の最高気温の値を返したい場合は次のように記述します。

=VLOOKUP(A9,A2:D21,3,FALSE)
VLOOKUPの基本的な使い方


地点「沓形(クツガタ)」と同じ行の、3列目「最高気温」の値が返されました。

3列目「最高気温」の値が返されました。



VLOOKUPの基本的な使い方は、他の記事で紹介しているので、詳しく知りたい方はぜひ読んでみてください。


VLOOKUPで複数列の値を取得する

前項で紹介したように、VLOOKUP関数の第3引数に指定した列番号の値を返します。

通常の指定方法では、列番号は1つしか指定できません。

その為、返される値も1つだけになるのですが、

実は第3引数には、複数列の番号を並べた配列を指定する事ができます

つまり、複数列の番号を指定できる配列を使えば、複数列の値を返す事が可能ということ。


例:

VLOOKUPの第3引数に、複数の列番号を「, 」カンマで区切り、{}: 波括弧 で囲んだ配列を指定します。

=VLOOKUP(A9,A2:D21,{1,3,4},FALSE)


1列目の「観測地点」、3列目の「最高気温」、4列目の「最高気温」の列番号を配列で指定しました。

しかし、返されたのは、1列目の「観測地点」の値「沓形(クツガタ)」だけ。

他の値は表示されていません。

VLOOKUPで複数列の値を取得する


1列目の値しか表示されていませんが、これは数式のミスではありません。

配列で指定した複数列の値は、間違いなく返されていますが、その値を複数列に表示できていないだけです。

ARRAYFORMULAで複数列に表示

配列数式から返された値を複数行または複数列に表示するには

ARRAYFORMULA関数

を使用します。


VLOOKUP関数を、ARRAYFORMULA関数で囲むと、返された全ての値を各列に表示させることができます。

=ArrayFormula(VLOOKUP(A9,A2:D21,{1,3,4},FALSE))


今度は、1列目の「沓形(クツガタ)」だけでは無く、3列目の「最高気温」と4列目の「最低気温」の値も表示できました。

ARRAYFORMULA関数で囲む

ARRAYFORMULAで複数行をVLOOKUP検索する

ARRAYFORMULA関数を使うと、一度に複数行をVLOOKUP検索、値を返す事もできます。


VLOOKUP関数の第1引数に、複数列のセル番号を指定。

=ArrayFormula(VLOOKUP(A2:A21,A2:D21,{1,3,4},FALSE))


第1引数に指定した全ての「検索キー」に該当する、同行で列番号の値が返されました。

ARRAYFORMULAで複数行をVLOOKUP検索する

まとめ

GoogleスプレッドシートのVLOOKUP関数で複数列の値を取得する方法を紹介しました。

複数列の値を返すには

VLOOKUP関数の第3引数に指定する列番号を、複数の番号を並べた配列で指定する。

VLOOKUP(検索キー, 範囲, {2,6,7}, FALSE)

返された全ての値を表示するには、ARRAYFORMULA関数で囲む。

ARRAYFORMULA(VLOOKUP(検索キー, 範囲, {2,6,7}, FALSE))








Twitter Facebook Pocket LINE はてブ

おすすめの関連記事


あわせてよく読まれている記事