【完全攻略】スプレッドシートのVLOOKUP関数とROW関数でデータ参照を自動化!メンテナンスに強い表作り

Googleスプレッドシート 参照 ROW関数 VLOOKUP関数 Googleスプレッドシート
記事内に広告が含まれています。
スポンサーリンク

「名簿の行を削除したら、せっかく振った連番が歯抜けになってしまった……」「大量のデータから、特定の商品の価格を一瞬で引き出したい」

そんな悩みを一発で解決するのが、「ROW(ロウ)関数」と「VLOOKUP(ブイルックアップ)関数」です。

一見、関係なさそうなこの2つの関数ですが、実は「ミスを防いで作業を楽にする」という共通の目的があります。この記事では、初心者の方が最初につまずきやすいポイントを丁寧にフォローしながら、明日からすぐに使える「プロの管理術」をご紹介します!

スポンサーリンク

ROW関数

基本的な使い方

構文=ROW([セル参照])

指定したセルの行番号を返します。

出典:Google ドキュメント エディタ ヘルプ ROW

セルの行番号を入力します。特徴は、行を削除しても番号がずれることがありません。実際にどのように使うかは以下で詳しくご説明させて頂きます。

実際の使い方

ROW関数

住所録に連番を振っていきます。数式は以下になります。

=ROW()-2

ROW関数」は、行番号を表示する関数ですので、そのまま入力するとこの表の場合、「3」から始まってしまいます。そのため「1」から始めるには、「-2」と記入する必要があります。セルA3以降は、コピーアンドペーストすれば連番が挿入されます。

ROW関数を使う意味

ROW関数

2つの赤い枠線のうち、左側が「ROW関数」で入力した連番、右側が「B3に1を入力し自動連番入力」を使って挿入した連番です。見た目はどちらも変わりませんが、ここで「7番の鈴木一郎」の行を削除してみたいと思います。

ROW関数

ROW関数」で作成した連番はそのまま番号が続いていて、最後が「13」になっています。自動で作成した連番は、「7」が行と一緒に削除されてしまっていて、最後の番号は「14」のままになっています。

このように作成した表の行を削除したり変更したりする必要がある場合は「ROW関数」を、作成した表の行を削除したり変更したりする必要がない場合は「自動」で連番を挿入するのが良いと思います。

今回は「」の連番入力に、「ROW関数」を使用しましたが、「」の連番を入力するには、「COLUMN関数」を使用します。使い方は「ROW関数」と同じになります。

スポンサーリンク

VLOOKUP関数

基本的な使い方

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

垂直方向の検索。 範囲の 1 列目で指定したキーを垂直方向に検索し、同じ行内にある指定したセルの値を返します。

出典:Google ドキュメント エディタ ヘルプ VLOOKUP

説明を読むと何が書いてあるのか、よく分かりませんが、簡単に言うと、「データから指定した値を検索する」関数になります。実際にどのように使うかは以下で詳しくご説明させて頂きます。

実際の使い方

VLOOKUP関数

12月の売上表を見ていきましょう。①に「VLOOKUP関数」を入力します。②に商品名を入力すると、自動的に③の表から商品価格を①に入力します。数式は以下になります。

=VLOOKUP(C2,$D$23:$E$27,2,0)

  • C2:検索キーとなります。(②)
  • $D$23:$E$27:範囲となり、データを参照する部分になります。(③)
  • 2:データの中の何列目を参照するか指定する「番号」になります。(③)
  • 0(またはFALSE):検索ワードが完全に一致するかどうかを指定します。「FALSE」でも同じ意味になります。

$D$23:$E$27 」についている $(ドルマーク)。これは「絶対参照」といって、数式を下にコピーしても参照先がズレないようにするための非常に重要な印です。$を付け忘れると、下の行でエラーが出てしまいます。

並べ替え済み」にあたる「0(FALSE)完全一致」は「1(TRUE)近似一致」と指定することも出来ます。この場合は、検索する値が指定した範囲の中にない場合、最も近い数値を検索します。(主に「~以上~未満の場合は~」のような送料などを計算する時に利用します)

「VLOOKUP関数」と同じように、他のデータから指定した値を検索する関数として「HLOOKUP関数」、「XLOOKUP関数」があります。特にVLOOKUP関数は左側のデータが検索できないけれど、XLOOKUPなら可能になります。これらの関数の使い方を覚えておくと、データ検索の幅が広がりますのでぜひ一緒に覚えておいてください。

応用編 COLUMN関数を組み合わせる

VLOOKUP関数を使って複数の情報を抽出する場合はどうしたらよいでしょうか?

今までの基本的なやり方であれば、以下のように「右隣のセル」へ数式をコピーするたび、列番号を手書きで修正する必要があります。

  • B列(商品名)を取りたい:=VLOOKUP(検索キー, 範囲, 2, 0)
  • C列(単価)を取りたい:=VLOOKUP(検索キー, 範囲, 3, 0)
  • D列(在庫)を取りたい:=VLOOKUP(検索キー, 範囲, 4, 0)

もちろんこれでも問題ないのですが、沢山の列がある場合は、流石に面倒ですよね。このような時は「列番号にCOLUMN 関数を組み合わせることで、右にコピーしただけで自動的に隣の項目のデータを取ってくる」ことが可能になります。具体的に見ていきましょう。

VLOOKUP関数でCOLUMN 関数を組み合わせる方法

セルD2に以下の数式を入力します。

=VLOOKUP($C2, $J$2:$L$6, COLUMN(B1), 0)

ここでのポイントは「COLUMN(B1)」になります。列番号を直接入力する場合は、「2」になるのですが、COLUMN 関数を使う場合は、このように入力します。

ここで戸惑うのが「B1」ではないでしょうか。参照する列番号はK列なので、「K1」と書いてしまいそうになります。しかしここで「B」というのは参照先の列がその表内で左から数えて何番目にあるのかを表しています。1列目であれば「A」、2列目であれば「B」、3列目であれば「C」と書くのが正解となります。

このように、「何列目から始めたいか」をアルファベット(A=1, B=2…)で指定するのが、この連携技のルールです。

VLOOKUP関数でCOLUMN 関数を組み合わせる方法

続いてセル「E2」に品番を入力します。セル「D2」をコピーして「E2」に貼り付けると数式は以下のように入力されます。

=VLOOKUP($C2, $J$2:$L$6, COLUMN(C1), 0)

COLUMN 関数の「B2 」が自動的に「C2」に変更されています。そして品番として「C」が入力されています。あとは下の列にセル「E2」をコピペすればすべての行に品番が入力されます。

ここでは2列だけですが、複数列がある場合は同様にコピペしていけば、自動で列が変更されます。

このテクニックを使うメリット

  • 時短: 列が30個ある表でも、数式を1回書くだけで済みます。
  • ミス防止: 「ここだけ列番号を書き換え忘れた」というイージーミスがゼロになります。
  • 柔軟性: 途中で「やっぱりもう1項目増やそう」となったときも、横にピッとコピーするだけで対応可能です。

注意点

COLUMN 関数との組み合わせは、参照先の表の並び順と、抽出先の項目の並び順が完全に一致していることが前提となります。もし並び順がバラバラな場合は、MATCH 関数を列番号に使うのがさらに高度なテクニックとなります。

マスターが教える「よくあるエラー解消」Tips

  1. 「#N/A」エラーが出たときは?: 検索したいキーワードが、参照先のデータの1列目に存在しない場合に起こります。スペルミスや、前後に余計な『スペース』が入っていないか確認してみましょう。
  2. 「#REF!」エラーが出たときは?: VLOOKUPの列番号に、指定した範囲よりも大きい数字(例:2列しか選んでいないのに3と入力した)を入れると発生します。範囲と番号を見直しましょう。

スポンサーリンク

まとめ

お疲れ様でした!「参照」の基本であるROW関数とVLOOKUP関数をマスターすれば、あなたのスプレッドシートは「ただのメモ帳」から「優秀なデータベース」へと進化します。

  • 行を消しても番号が崩れない「ROW関数」
  • 必要な情報を一瞬で探し出す「VLOOKUP関数」

これらを使いこなすことで、転記ミスや番号の振り直しといった「無駄な時間」がゼロになります。スプレッドシートには他にも便利な関数がたくさんありますが、まずはこの2つを「自分の手」で動かして、その便利さを実感してみてください。

一度仕組みを作ってしまえば、あとはスプレッドシートがあなたの代わりに働いてくれます。ぜひ、スマートなデータ管理を楽しんでくださいね!

今回も最後までお読みいただき、ありがとうございました。

コメント