- 公開日:
ExcelのVLOOKUP関数で$を使って列番号を指定する方法
この記事では、ExcelのVLOOKUP関数で$を使って列番号を指定する方法をご紹介します。
VLOOKUP関数の数式をコピーする際、列番号を手動で修正する必要がありますが、引数を工夫すると列番号を自動で可変することができます。
以下では、COLUMNS関数と$を組み合わせて列番号を指定する方法などをご紹介します。
ExcelのVLOOKUP関数で$を使って列番号を指定する方法
以下では、VLOOKUP関数の引数に指定する列番号を自動で可変させる方法を2つご紹介します。
適切な位置に$を付けることが大事なので、固定する位置を間違えないようにご注意ください。
COLUMNS関数と$を使って列番号を指定する方法

VLOOKUP関数の第3引数である列番号は、上記の画像のように数式をコピーしても自動で可変することはありません。
列番号を数字で指定している場合は$を付けることができないので、$を使って列番号を指定したい場合は、セル参照や数式を組み合わせる必要があります。
以下で、$を使って列番号を指定する方法をご紹介します。

上記の画像のような表を用意します。
G3セルからG5セルに検索値(例:管理コード)を入力します。

H3セルに「=VLOOKUP($G3,$A:$E,COLUMNS($A$2:B$2),FALSE)
」を入力して、Enterを押します。
数式をコピーするので、参照がずれないように$で固定しましょう。
検索値と範囲は列を固定したいので列番号の前に$を付けます。
列番号はCOLUMNS関数を組み合わせて、左側にある表の左端の見出し(例:管理コード)から抽出したい見出し(例:お預かり品)までを引数に指定します。
A2セルは可変しないので行列を$で固定します。B2セルは数式をコピーする際に横方向の参照が広がるように行番号だけを$で固定して、列番号が可変するように指定します。
COLUMNS関数は、配列またはセル範囲を指定して列数を返します。書式は「=COLUMNS(配列)」です。

H3セルに「ドレス」が表示されました。
H3セルのフィルハンドルをドラッグして数式をコピーします。

I3セルからK3セルに数式がコピーされました。
COLUMNS関数を列番号に指定して$で固定することで、列番号を手動で入力しなくても自動で可変させることができました。
H3セルからK3セルを選択して、フィルハンドルをドラッグして数式をコピーします。

右側の表にすべての結果が表示されました。
値を抽出することができましたが、数式をコピーする際にK3セルからK5セルのように日付の表示が数字になってしまうことがあります。
以下で、数字になってしまった日付を日付形式に変更していきます。

①日付形式に変更したいセル範囲(例:K3セルからK5セル)を選択します。
②ホームタブ、③数値の書式の下矢印、④短い日付形式の順に選択します。

数字で表示されていた日付が正しく表示されました。
VLOOKUP以外の関数を使わずに$を使って列番号を指定する方法
列番号を$で指定する際、COLUMNS関数などを組み合わせる方法がありますが、シンプルな関数を使う方が数式を修正しやすい場合もあります。
関数に慣れていない場合は、あらかじめ列番号を表示させたセルを$を使って参照しましょう。
他の関数を組合わせずに列番号を$で指定する方法は、以下の記事「VLOOKUP関数で数式をコピーしてもずれないようにする方法」セクションでご紹介しています。