VLOOKUPの列番号をMATCH関数で自動にする方法
列番号を数字で直接書くと、表に列を足したときに違う列を取り出してしまいます。MATCH で見出しの位置を探せば、列番号を自動にできます。
ブラウザで実際に練習する書き方
=VLOOKUP(B9,A1:D6,MATCH(B10,A1:D1,0),FALSE)ポイント
- MATCH(探す値, 範囲, 0) で、範囲の何番目にあるかがわかる
- 見出しの行を範囲にすれば、項目名から列番号が求まる
- 知りたい項目をセルで切り替えられるようになる
練習に使う表
| A | B | C | D | |
|---|---|---|---|---|
| 1 | コード | 商品名 | 単価 | 在庫 |
| 2 | P-001 | ボールペン | 120 | 340 |
| 3 | P-002 | ノート | 180 | 120 |
| 4 | P-003 | ファイル | 240 | 75 |
| 5 | P-004 | 付箋 | 150 | 410 |
| 6 | P-005 | ホチキス | 680 | 32 |
| 7 | ||||
| 8 |
※ 表の一部を表示しています。続きは練習問題で。
例
まず B11 で、「在庫」が表の何列目かを MATCH で調べよう。
B11 に =MATCH(B10,A1:D1,0) と入力 → 結果は 4
練習問題でやること(2問)
- まず B11 で、「在庫」が表の何列目かを MATCH で調べよう。やり方:=MATCH(探す値, 範囲, 0)。見出しの行 A1:D1 から「在庫」の位置を探す。0 は完全一致。
- B12 で、VLOOKUP の列番号に MATCH を入れて、P-002 の在庫を出そう。やり方:=VLOOKUP(B9,A1:D6,MATCH(B10,A1:D1,0),FALSE)。列番号の「4」の代わりに MATCH を入れる。ポイント:B10 を「単価」に変えれば単価が出る。列を追加しても列番号を直す必要がない。
よくある間違い
- MATCH の3つ目の 0 を忘れて、違う位置が返る
よくある質問
XLOOKUP なら?
XLOOKUP は取り出す列を範囲で指定するので、列番号の問題がそもそも起きません。
Excel への入力そのものを、AI に任せるなら
話すだけ・名刺を貼るだけで、顧客・案件・請求の Excel が埋まる「UtaCel AI」。エクキソと同じマワースが作っています。
UtaCel AI を見る →