VLOOKUP関数の使い方としくみ|草野球成績管理表で選手マスタから背番号・守備位置を引く例で解説

関数の使い方

スプレッドシートの検索・参照系でもっともよく使われる関数のひとつ、VLOOKUP関数について、使い方と内部のしくみを解説します。草野球の成績管理表で「選手マスタ」から背番号・守備位置を取得する場面を例に、初心者向けに丁寧に説明します。

VLOOKUP関数とは

📝 VLOOKUP関数の役割(一言でいうと)

指定した検索値を、範囲の一番左の列から探し出し、そこから右方向に指定した列数だけずれた位置の値を返す関数です。成績管理表では「選手名から背番号を引く」「選手名から守備位置を引く」のように、別の表(マスタ)から情報を持ってきたい場面でよく使われます。

基本の書式はこうです。

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])

「検索値」は探したいキーとなる値(選手名など)、「範囲」は検索対象の表全体、「列番号」は範囲の左端を1列目として何列目の値を取り出すか、「検索方法」は完全一致(FALSE)か近似一致(TRUE)かを指定します。

成績管理表での実例:選手マスタから背番号・守備位置を引く

大阪グーニーズのスプレッドシートには、選手名・背番号・守備位置をまとめた「選手マスタ」シートがあるとします。A列に選手名、B列に背番号、C列に守備位置が入っています。

選手名 背番号 守備位置
SUZUKI 7
NAKATA 3
YAMAMOTO 6

一方、「個人成績」シートのA列には選手名だけが入っており、背番号・守備位置は入力されていません。ここにVLOOKUPを使って、選手マスタから自動で引っ張ってきます。A2セルの選手名をもとに背番号を取得する式はこうなります。

✅ 選手名から背番号を取得する式
=VLOOKUP(A2, 選手マスタ!A:C, 2, FALSE)

これで「選手マスタのA列からA2セルと同じ選手名を探し、そこから2列目(背番号)の値を返す」という計算が実行されます。守備位置を取得したい場合は、列番号の部分を3に変えるだけです。

✅ 選手名から守備位置を取得する式
=VLOOKUP(A2, 選手マスタ!A:C, 3, FALSE)

A2セルに「NAKATA」と入っている場合、どの値がどこから取り出されるのか、下の図で見てみましょう。

VLOOKUP関数の使い方:選手マスタのA列からNAKATAを探し、2列目にある背番号3を取り出す図解 VLOOKUP関数の使い方 選手名をキーにして、選手マスタから背番号を取り出す fx =VLOOKUP(A2, 選手マスタ!A:C, 2, FALSE) ▼「選手マスタ」シート A B C 1 選手名 背番号 守備位置 2 SUZUKI 7 3 NAKATA 3 4 YAMAMOTO 6 5 青い破線=第2引数の範囲(選手マスタ!A:C) ※数式は「個人成績」シートのB2セルに入力し、この選手マスタを参照しています。 ① 範囲の左端(A列)を上から順に   検索値と照合します ② 一致した行の2列目(B列)から   背番号「3」を取り出します =VLOOKUP(検索値, 範囲, 列番号, 検索方法) 範囲の左端の列から検索値を探し、その行の指定した列番号の値を返します。 例:=VLOOKUP(A2, 選手マスタ!A:C, 2, FALSE) → 選手名から背番号(2列目)を取り出す 大阪グーニーズ データ解説
VLOOKUPで選手マスタから背番号を取り出す流れ
STEP 1
背番号を表示したいセルを選択する

「個人成績」シートで、背番号を表示したいセル(例:B2セル)をクリックして選択します。

STEP 2
「=VLOOKUP(」と入力し、検索値と範囲を指定する

検索値としてA2セル(選手名)をクリックし、続けて選手マスタシートのA列からC列までをドラッグで範囲選択します。「選手マスタ!A:C」のように自動で入力されます。

STEP 3
列番号と検索方法を入力してEnterキーで確定する

背番号は範囲の2列目なので「2」、完全一致で探したいので「FALSE」を指定して式を閉じます。確定すると、すぐに背番号がセルに表示されます。

しくみを理解する:VLOOKUPは何をしているのか

📝 VLOOKUPの内部動作

VLOOKUP関数は、次の2ステップだけを行っています。

  • ① 範囲の一番左の列を、上から順に検索値と照合していく(選手マスタのA列を上から1行ずつ見ていき、A2セルの選手名と一致する行を探す)
  • ② 一致した行が見つかったら、そこから右方向に「列番号」で指定した分だけずれた値を返す(列番号2なら1つ右のB列、列番号3なら2つ右のC列)

「V」は縦(Vertical)を意味していて、検索対象の列を縦方向に探すことからこの名前がついています。また、4つ目の引数(検索方法)にFALSEを指定すると「完全に一致する行だけ」を探し、見つからなければ#N/Aエラーを返します。TRUEにすると近似一致になりますが、成績管理表のような名前検索ではFALSEを使うのが基本です。

この2ステップを、守備位置を取り出す式(列番号3)で図にすると次のようになります。

VLOOKUPのしくみ:左端のA列を縦に検索し、一致した行から3列目の守備位置「一」を返す図解 VLOOKUPのしくみ 左端の列を縦に検索し、指定した列番号の分だけ右へずれた値を返す fx =VLOOKUP(A2, 選手マスタ!A:C, 3, FALSE) ▼「選手マスタ」シート A B C 1 選手名 背番号 守備位置 2 SUZUKI 7 3 NAKATA 3 4 YAMAMOTO 6 5 1列目 2列目 3列目 列番号は、範囲の左端の列を「1列目」として数えます。 ① 範囲の左端(A列)を上から順に   検索し、一致する行を見つけます ② その行から右へ3列目、   C列の「一」を返します =VLOOKUP(検索値, 範囲, 列番号, 検索方法) 列番号は「範囲の左端の列=1列目」として数えます。範囲の外の列は取り出せません。 例:=VLOOKUP(A2, 選手マスタ!A:C, 3, FALSE) → 3列目の守備位置「一」を取り出す 大阪グーニーズ データ解説
左端列を縦に検索し、列番号の分だけ右へずれた値を返す2ステップ

よくあるミス:VLOOKUPで起きやすいエラー

⚠️ 原因1:検索したい列が範囲の左端にない

VLOOKUPは「範囲の一番左の列」しか検索対象にできません。たとえば選手マスタが「背番号・選手名・守備位置」の順に並んでいる場合、選手名から検索することができず、正しい結果が返りません。検索したい列を範囲の左端に置くよう、表の並びを調整する必要があります。

⚠️ 原因2:検索方法(第4引数)を省略してしまう

検索方法を省略、またはTRUEにしてしまうと、完全一致ではなく近似一致で検索されます。選手マスタが選手名で並び替えられていない場合、意図しない選手の背番号が返ってきてしまうことがあります。名前や番号などのマスタ検索では、必ず第4引数に「FALSE」を指定しましょう。

✅ この記事のまとめ
  • VLOOKUP関数は「範囲の左端列を検索し、右方向に指定列数ずらした値を返す」関数
  • 検索したい列は必ず範囲の左端に置く必要がある(左端限定の制約)
  • 成績管理表でのマスタ検索では、第4引数に「FALSE」を指定して完全一致で探すのが基本

次回予告

次回のテーマは「HLOOKUP関数」です。VLOOKUPの縦横の向きが逆になった関数を、年度を横に並べた表からの参照を例に解説していきます。

▶︎ 次回:HLOOKUP関数の使い方としくみ

コメント

タイトルとURLをコピーしました