- 公開日:
ExcelのVLOOKUP関数で絶対参照を使って範囲を固定する
この記事では、ExcelのVLOOKUP関数で絶対参照を使って範囲を固定する方法をご紹介します。
VLOOKUP関数の数式をコピーする際、セルの位置を固定していない場合に範囲などがずれてしまうことがあります。適切な位置を固定して誤った結果が返されないようにすることが重要です。
以下では、絶対参照の説明と「$」を使って範囲を固定する方法をご紹介します。
絶対参照とは?
Excelの絶対参照とは、数式の引数にセル参照を指定する際、セルの位置を「$」で固定してセル参照がずれないようにすることです。
以下の表で、「$」を付ける位置と固定される範囲をご紹介します。
$の付け方 | 参照の意味 |
---|---|
$A1 | A列だけを固定(行番号は可変する) |
A$1 | 1行目だけを固定(列番号は可変する) |
$A$1 | A列と1行目を固定(つまりセル番地を固定する) |
セル参照を固定していない場合、数式をコピーした際に範囲がずれてエラーや誤った結果を返す原因になるので注意が必要です。
絶対参照をする際、ショートカットキーで「$」を付ける方法を以下の記事「エクセルの数式(関数)を$で固定するショートカット」セクションでご紹介しています。
以下で、絶対参照の違いを簡単な数式を使ってご紹介します。

上記の画像は、B3セルの数式(例:=A3*B2)をD3セルまでコピーした表ですが、セル参照が固定されていないのでコピーした数式がずれています。
「単価」を固定して「割引率」だけが可変するように固定していきます。

「単価」¥1,000のセルの位置は変わらないため、「$A$3」を指定してセル番地を固定します。
「割引率」は2行目を固定して列番号が可変するので「B$2」を指定します。
B3セルに「=$A$3*B$2」と入力することで、横方向にコピーしてもセルが固定されているので参照がずれません。
今度は、数式を下にコピーした際に絶対参照する方法をご説明します。

上記の画像は、B3セルの数式(例:=A3*B2)をB5セルまでコピーした表ですが、セル参照が固定されていないのでコピーした数式がずれています。
「割引率」を固定して「単価」だけが可変するように固定していきます。

「単価」はA列を固定して行番号が可変するので「$A3」を指定します。
「割引率」5%のセルの位置は変わらないため、「$B$2」を指定してセル番地を固定します。
B3セルに「=$A$3*B$2」を入力することで、縦方向にコピーしてもセルが固定されているので参照がずれません。
ExcelのVLOOKUP関数で絶対参照を使って範囲を固定する方法

上記の画像は、B10セルに入力したVLOOKUP関数を下の表にコピーしたところ、B11セルとB12セルにエラーが表示されてしまいました。

エラーが表示されたB12セルのVLOOKUP関数の引数を確認します。
コピー元のB10セルの範囲が固定されていないので、数式をコピーした際に範囲がずれていることが分かります。
以下では、絶対参照を使って範囲を固定していきます。

B10セルに「=VLOOKUP(A10,$A$3:$D$7,4,FALSE)」を入力して、Enterを押します。
引数に指定した範囲(例:A3セルからD7セル)の行列をどちらもと固定したいので、列番号と行番号の前に「$」を付けて絶対参照します。

B10セルにVLOOKUP関数の結果が表示されました。
B10セルのフィルハンドルをドラッグして数式をコピーします。

絶対参照を使って引数に指定した範囲を固定することで、数式をコピーしても正しい結果を抽出することができました。