Clicky

【スプレッドシート】VLOOKUPの列番号をCOLUMN関数で自動化する時短術

GoogleSpreadsheet(スプレッドシート)
GoogleSpreadsheet(スプレッドシート)
この記事は約2分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

スプレッドシートで商品IDを入力するだけで商品名、価格、在庫数を自動表示したい。そんな場面は日常的にあります。しかし、VLOOKUP関数を使うと列番号を「2」「3」「4」と手で修正しなければならず、地味に面倒な作業が発生します。この記事では、この作業を不要にするCOLUMN関数を活用した時短術をご紹介します。


VLOOKUPのオートフィルが抱える落とし穴

VLOOKUPは便利ですが、オートフィルで右にコピーしても列番号は自動で変わりません。

=VLOOKUP(G2, $A$1:$D$50, 2, FALSE)

例えば、こちらをコピーすると、どのセルでも「2列目」のデータ(商品名)が表示されてしまいます。これが、毎回手入力で列番号を直さなければならない原因です。


COLUMN関数とは?

COLUMN関数は「そのセルが属する列番号」を返すシンプルな関数です。

  • B列なら「2」
  • C列なら「3」

この特徴を利用すると、VLOOKUPの列番号を動的に変化させることが可能になります。


VLOOKUP × COLUMN関数の組み合わせ

次の数式が完成形です。

=VLOOKUP($G2, $A$1:$D$50, COLUMN(B1), FALSE)

ポイント解説

  • 検索値:$G2
  • データ範囲:$A$1:$D$50
  • 列番号:COLUMN(B1)

H2セルに入力して右にコピーすると、

  • I2セルでは COLUMN(C1) → 3(価格)
  • J2セルでは COLUMN(D1) → 4(在庫数)

と自動で列番号が切り替わります。


絶対参照の設定

この方法を安定稼働させるには参照の固定が重要です。

  • データ範囲:$A$1:$D$50(列も行も固定)
  • 検索値:$G2(列は固定、行は可変)

これにより、数式を縦横どちらにコピーしても壊れない、堅牢な仕組みが完成します。


まとめ:作業効率を変える小さな工夫

  • 列番号を固定数字ではなく COLUMN() に置き換える
  • 範囲や検索値を正しく絶対参照する

これだけで、VLOOKUPの列番号を手で直す必要がなくなり、入力ミス防止と時間短縮が可能です。商品IDを変えるだけで関連データが瞬時に更新されるスプレッドシートが完成します。小さな工夫で日常の作業効率が劇的に変わる時短術です。