Excelでデータを検索して取得するための強力なツールであるVLOOKUP関数とCOLUMN関数を組み合わせることで、手軽に複数の列からデータを引き出す方法をご紹介します。これにより、手作業で列番号を調整する煩わしさから解放され、効率的に作業を進めることができます。
VLOOKUP関数とは
VLOOKUP関数は指定した範囲から、特定の値に一致するデータを検索して取得するための関数です。基本的な構文は以下の通りです:
- 検索値: 検索する値
- 範囲: 検索範囲
- 列番号: 取得する列の番号
- 検索の型: 完全一致の場合は
FALSE、近似一致の場合はTRUE
基本の使い方:列番号を COLUMN で自動にする
手順:C3 に VLOOKUP と COLUMN の式を入れて Enter
明細の物品番号(B 列)から、物品名称・分類・単価を物品一覧から取り出します。列番号を COLUMN にすると、1 つの式を右と下へコピーするだけで済みます。 C3 に次の式を入力して、Enter キーを押します❶。
=VLOOKUP($B3,$I$3:$L$7,COLUMN(B3),FALSE) $B3$I$3:$L$7COLUMN(B3)FALSECOLUMN( )の中には、「取り出したい列番号と同じ列番号のセル」を入れます。2 列目から取り出すなら B 列のセル(B3)です。例:A2 の番号で表の 2 列目から右へ取り出す(右へコピー)
=VLOOKUP($A2,$H$2:$K$50,COLUMN(B2),FALSE) - 検索値は
$B3(列だけ固定)、範囲は$I$3:$L$7(全部固定)にすると、右へも下へもコピーできます。

確認:C3:E3 に「桃・果物・700」が入った

答えは 桃 になりました❷。式は、次の順に計算しています。
- COLUMN(B3)は B 列の番号を返す
⇒ 2 - 物品一覧で「B101」を探し、2 列目を取り出す
⇒ 桃 - 右へコピーすると COLUMN(C3)=3、COLUMN(D3)=4 に変わる
⇒ 果物・700
=IFERROR(VLOOKUP($B3,$I$3:$L$7,COLUMN(B3),FALSE),"エラー") のように IFERROR で包みます。COLUMN関数とは
COLUMN関数は指定したセルの列番号を返します。この関数を使うことで、列番号を動的に変更することが可能です。基本的な構文は以下の通りです:
- 参照: 列番号を取得したいセル(省略すると現在の列番号を返します)
VLOOKUP関数とCOLUMN関数を使って簡単に列番号を自動切換えし表引きする方法【Excelサンプルデータダウンロード】

表から左右に隣り合う複数のセルのデータをまとめて取り出したいことがあります。
VLOOKUP関数を使う場合、先頭のセルに入力して右方向にコピーした後、3番目の引数「列番号」を「2」「3」「4」と手修正する必要があり面倒です。そのようなときはCOLUMN関数で列番号を自動切り替えを使うと便利です。そうすれば、先頭の数式を入力したあと、コピーするだけで済みます。
▶ この式(C3)を、上の練習ツールで試す / この式(D3)を、上の練習ツールで試す / この式(E3)を、上の練習ツールで試す
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
Excel形式サンプルデータダウンロード
以下は、Excelデータですので、ダウンロードして練習などに使用してください。
応用とエラー対策
必要に応じて、IFERROR関数を組み合わせることで、エラーが発生した場合にも対応できます:
この数式は、VLOOKUP関数でエラーが発生した場合に「エラー」と表示します。

VLOOKUP関数と関連する検索関数の使い分けは、こちらのまとめで整理しています。

