VLOOKUPとCOLUMNの使い方|列番号を自動で切り替えて表引きする

VLOOKUPとCOLUMNの使い方|列番号を自動で切り替えて表引きする

Excelでデータを検索して取得するための強力なツールであるVLOOKUP関数とCOLUMN関数を組み合わせることで、手軽に複数の列からデータを引き出す方法をご紹介します。これにより、手作業で列番号を調整する煩わしさから解放され、効率的に作業を進めることができます。

目次

VLOOKUP関数とは

VLOOKUP関数は指定した範囲から、特定の値に一致するデータを検索して取得するための関数です。基本的な構文は以下の通りです:

VLOOKUP関数の構文
数式=VLOOKUP(検索値,範囲,列番号,検索の型)
ひとことで縦に探して値を返す
検索値
探す値です
範囲
表の範囲です
列番号
列番号です
検索の型
検索の型です
  • 検索値: 検索する値
  • 範囲: 検索範囲
  • 列番号: 取得する列の番号
  • 検索の型: 完全一致の場合はFALSE、近似一致の場合はTRUE

基本の使い方:列番号を COLUMN で自動にする

手順:C3 に VLOOKUP と COLUMN の式を入れて Enter

明細の物品番号(B 列)から、物品名称・分類・単価を物品一覧から取り出します。列番号を COLUMN にすると、1 つの式を右と下へコピーするだけで済みます。 C3 に次の式を入力して、Enter キーを押します❶。

C3 に入れる式
=VLOOKUP($B3,$I$3:$L$7,COLUMN(B3),FALSE)
$B3 検索値(物品番号)$I$3:$L$7 範囲(物品一覧)COLUMN(B3) 列番号(B 列=2)FALSE 検索方法(完全一致)
ひとことで物品番号(B3)を物品一覧で探し、COLUMN(B3) の 2列目(物品名称)を取り出す。右へコピーすると列番号が 3・4 に自動で変わる
式を分けて読むと(色は画像の枠と同じ)
検索値$B3
何を探す?
→ B 列の物品番号(列だけ $ で固定)
範囲$I$3:$L$7
どの表で探す?
→ 物品一覧($ で固定)
列番号COLUMN(B3)
何列目を取り出す?
→ B 列は 2 列目なので 2(右へコピーで 3・4)
検索方法FALSE
どう探す?
→ 完全に同じものだけ
自分の表で使うときは
COLUMN( )の中には、「取り出したい列番号と同じ列番号のセル」を入れます。2 列目から取り出すなら B 列のセル(B3)です。例:A2 の番号で表の 2 列目から右へ取り出す(右へコピー)=VLOOKUP($A2,$H$2:$K$50,COLUMN(B2),FALSE)
  • 検索値は $B3(列だけ固定)、範囲は $I$3:$L$7(全部固定)にすると、右へも下へもコピーできます。
エクセルのVLOOKUP関数の列番号にCOLUMN関数を使う式と、検索値・範囲・列番号を色分けした画面
エクセルのVLOOKUP関数の列番号にCOLUMN関数を使う式と、検索値・範囲・列番号を色分けした画面

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

エクセルのVLOOKUP関数とCOLUMN関数の式を右へコピーし、B101の物品名称・分類・単価を取り出したことを色で示した画面
エクセルのVLOOKUP関数とCOLUMN関数の式を右へコピーし、B101の物品名称・分類・単価を取り出したことを色で示した画面

答えは 桃 になりました❷。式は、次の順に計算しています。

  1. COLUMN(B3)は B 列の番号を返す
    ⇒ 2
  2. 物品一覧で「B101」を探し、2 列目を取り出す
    ⇒ 桃
  3. 右へコピーすると COLUMN(C3)=3、COLUMN(D3)=4 に変わる
    ⇒ 果物・700
ヒント:エラーを「エラー」と表示するには
物品一覧に無い番号を入れると #N/A になります。=IFERROR(VLOOKUP($B3,$I$3:$L$7,COLUMN(B3),FALSE),"エラー") のように IFERROR で包みます。

COLUMN関数とは

COLUMN関数は指定したセルの列番号を返します。この関数を使うことで、列番号を動的に変更することが可能です。基本的な構文は以下の通りです:

COLUMN関数の構文
数式=COLUMN(参照)
ひとことで列番号を返す
参照
セルです
  • 参照: 列番号を取得したいセル(省略すると現在の列番号を返します)

VLOOKUP関数とCOLUMN関数を使って簡単に列番号を自動切換えし表引きする方法【Excelサンプルデータダウンロード】

表から左右に隣り合う複数のセルのデータをまとめて取り出したいことがあります。
VLOOKUP関数を使う場合、先頭のセルに入力して右方向にコピーした後、3番目の引数「列番号」を「2」「3」「4」と手修正する必要があり面倒です。そのようなときはCOLUMN関数で列番号を自動切り替えを使うと便利です。そうすれば、先頭の数式を入力したあと、コピーするだけで済みます。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

Excel形式サンプルデータダウンロード

以下は、Excelデータですので、ダウンロードして練習などに使用してください。

練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

応用とエラー対策

必要に応じて、IFERROR関数を組み合わせることで、エラーが発生した場合にも対応できます:

IFERROR関数の構文
数式=IFERROR(VLOOKUP($B3, $I$3:$L$7, COLUMN(B3), FALSE),"エラー")
ひとことでエラーを別の値に置き換える
VLOOKUP($B3, $I$3:$L$7, COLUMN(B3), FALSE)
エラーかどうかを調べる式です
"エラー"
エラーのときに表示する値です

この数式は、VLOOKUP関数でエラーが発生した場合に「エラー」と表示します。

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

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次