条件一致で値を抽出「VLOOKUP」「HLOOKUP」- スプレッドシートの使い方

「VLOOKUP」「HLOOKUP」を使うと、データを結合させたり抽出するときにとても効率的に行うことができます。
今回は条件を指定して、一致する行・列の値を抽出する「VLOOKUP関数」「HLOOKUP関数」の使い方についての内容になります。

VLOOKUP - 条件一致する行の値を抽出

まず、VLOOKUPの関数の形式はこちらになります。

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

◆検索キー
検索する値で、テキスト・数値・セル参照で設定することができます。

◆範囲
検索対象の範囲で、範囲の先頭列で検索キーと一致する行を取得します。

◆指数
値を返す列の番号で、範囲の先頭列を「1列目」として数えます。

◆並べ替え済み
「TRUE=検索キー以下で最も近い値」か、「FALSE=完全一致」で選択ができます。
(省略可能で既定値はTRUEが設定されています)

基本的には、完全一致である「FALSE」を使用する場面が多いと思います。
一致する値が複数ある場合には、最初に取得したセルの内容が返されます。

VLOOKUP - 使い方

検索キーについては、テキスト・数値・セル参照で設定することができます。

=VLOOKUP("きりん",C3:D10,2,false)
=VLOOKUP(4,B3:D10,2,false)
=VLOOKUP(F3,B3:D10,2,false)
(テキストで指定する場合には「"」で囲むのをお忘れないように)

今回はセル参照で設定していきます。
(利用用途によりますが、セル参照で利用する場面が多いと思います)

VLOOKUPを呼び出し下記を入力します。

=VLOOKUP(F3,B3:D10,2,false)

No.「4」に該当する「きりん」が表示されました。

同じく、隣のセルに下記を入力します。

=VLOOKUP(F3,B3:D10,2,false)

No.「4」に該当する「89」点が表示されます。

VLOOKUP - 複数データの紐付け・結合

以下のような表で、「品名」「金額」そして「合計金額」を求める方法になります。

品名欄に下記の数式を入力

=VLOOKUP($F3,$B$3:$D$24,2,false)

他セルに反映をさせても数式が崩れないように各項目を絶対参照($)に設定します。
検索キー → 列を絶対参照
範囲 → 列・行ともに絶対参照

金額欄は下記の数式になります。

=VLOOKUP($F3,$B$3:$D$24,3,false)

品名欄に入力した数式をコピペして、「指数」のみ2→3に修正すると楽です。

最後に合計金額欄

=G3*I3

純粋な掛け算です。

入力を終えたら、この3列を下の行に反映させます。

ランダムに入力された表の品番から、品名・金額を抽出することができました。


こちらは、データの照らし合わせや紐付け・結合などを行う際に重宝します。

HLOOKUP - 条件一致する列の値を抽出

HLOOKUPの関数の形式はこちらになります。

HLOOKUP(検索キー, 範囲, 指数, [並べ替え済み])

◆検索キー
検索する値で、テキスト・数値・セル参照で設定することができます。

◆範囲
検索対象の範囲で、範囲の先頭行で検索キーと一致する列を取得します。

◆指数
値を返す行の番号で、範囲の先頭行を「1行目」として数えます。

◆並べ替え済み
「TRUE=検索キー以下で最も近い値」か、「FALSE=完全一致」で選択ができます。
(省略可能で既定値はTRUEが設定されています)

基本的には、完全一致である「FALSE」を使用する場面が多いと思います。
一致する値が複数ある場合には、最初に取得したセルの内容が返されます。

HLOOKUP - 使い方

基本的な考え方はVLOOKUPと同じで、列で検索していたものを行で検索する形になります。

検索キーについては、テキスト・数値・セル参照で設定することができます。

=HLOOKUP("りんご",$C$2:$N$8,2,false)
=HLOOKUP(5,$C$2:$N$8,2,false)
=HLOOKUP($C$12,$C$2:$N$8,2,false)
(テキストで指定する場合には「"」で囲むのをお忘れないように)

今回はセル参照で設定していきます。
(利用用途によりますが、セル参照で利用する場面が多いと思います)

HLOOKUPを呼び出し下記を入力します。

=HLOOKUP($C$12,$C$2:$N$8,2,false)

「2022年4月」に一致する列の2行目「56」が表示されました。

そのまま下の行に数式を反映させて、「指数」を3行目4行目・・・と修正します。

これで各行の値が表示されました。

試しに、「2022年4月」→「2022年12月」に編集してみます。

はい。
「2022年12月」の値にしっかりと反映されました。
一安心。

最後に

ファイル間でデータの連携できる「IMPORTRANGE関数」や、条件によって内容を分岐できる「IF関数」などと組み合わせて利用することもできます。
「VLOOKUP」「HLOOKUP」を覚えるだけで、データを扱える幅がとても大きくなりますのでおすすめです。
初めは少し難しく感じるかもしれませんが、形式を覚えてしまえば意外と簡単に扱えますので是非やってみてください。

こちらもCHECK

ファイル間でデータの連携「IMPORTRANGE関数」- スプレッドシートの使い方

スプレッドシートの優れた点として、クラウド上に保存されている別ファイルのデータの連携(読み込み)を行うことができます。もちろん、クラウドに保存されているものになるので、「誰が」「どこで」「どの機械から ...

続きを見る

こちらもCHECK

簡単・便利「初心者向け関数 第2弾」- スプレッドシートの使い方

この記事は、スプレッドシートで初心者でも簡単で便利な(これが使えればなんとかなると思う)関数「MAX」「MAXIFS」「MIN」「MINIFS」「IF」について書いた記事になります。 以前に簡単な関数 ...

続きを見る