VLOOKUP関数を使うとき、検索値も範囲の指定も列番号も合ってて、
検索方法もちゃんとFALSEにしているのに、
オートフィルなどで上から下までコピペするとなんか結果が変になる!
ってことありますよね。
僕もVLOOKUP関数を覚えたての頃によくやってしまったのですが
こういうときは、ほとんどの場合、範囲が絶対参照になっていないというミスを犯しています。
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
絶対参照にしていないと、上から下までVLOOKUP関数をコピペするときに
参照している範囲も上から下へズレていってしまうんですね。。
ここまで読んで、ああ、なるほど!
F4キーで絶対参照にするの忘れてた!
とピンと来る人はこれ以上読んでも新たな学びは無いと思いますが、
F4キー? 絶対参照? なにそれ?
っていう人のために、
以降、絶対参照で範囲ズレを防ぐ手順を解説していきます。
相対参照と絶対参照
そもそも絶対参照とは何か。
まず大前提として、エクセルの参照には
相対参照と絶対参照っていう2種類の概念が存在します。
ざっくり言うと、
- 数式をコピペしたときにズレるのが相対参照
- 数式をコピペしてもズレないのが絶対参照
となります。
相対参照(数式をコピペしたときにズレる)
例えば、D7セルの値を参照するシンプルな数式を・・
このようにコピペすると・・
相対参照だと、D7、D8、・・・D11セルへと下記のように参照がズレます。
絶対参照(数式をコピペしてもズレない)
次は絶対参照です。$D$7と列と行を表す記号にそれぞれ$が付いてますね。
$DはD列を絶対参照していて、$7は7行目を絶対参照するという意味になるので
要するに、$D$7でD7セルを絶対参照しているという事になります。
これを同様に下までコピペすると・・
今度はすべてD7セルを参照していますね!
このように、数式をコピペしても参照がズレないようにして
参照する対象を固定するのが絶対参照になります。
範囲を指定したらF4キーで行と列を絶対参照にする
VLOOKUP関数を使う際は範囲を絶対参照にしておかないと、
参照がどんどんズレていって、
最初に指定した範囲の中にあったはずのデータが参照されなくなります。
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
相対参照だと数式のコピペで範囲がズレる
具体的にはこんな感じでズレます。
例えば、右側の商品リストから「商品名」を検索値として「価格」を取得したいとき。
こんな感じで範囲(F7:G16)を相対参照のままVLOOKUP関数を書いて下にコピペすると・・・
「商品名」は範囲(F7:G16)の中にあるはずなのに、なぜか#N/Aが出てきますね!
何故だろう・・・( ^ω^)・・・
と一つ下にコピペしたVLOOKUPを見てみると、範囲がズレてる( ^ω^)・・・
・・ズレてる( ^ω^)・・・
・・・・・・すごくズレてる( ^ω^)・・・
という感じになります・・・( ^ω^)・・・
F4キーの威力
そこで効力を発揮するのがF4キー
本来、範囲(F7:G16)を絶対参照したいなら、
$F$7:$G$16のように$を4か所に書いてからVLOOKUP関数をコピペする必要がありますが・・・
F4キーを使うことで、一発でF7:G16 → $F$7:$G$16にすることが出来ます。
ちなみにF4キーの場所は、だいたいどのパソコンでもキーボードの左上にあるかと。
F4キーの動作
G7セルを例にF4キーを押したときの動作を説明します。
セルや範囲の参照を入力する際、
F4キーを押すと下記のように絶対参照が切り替わります。
G7 → $G$7 → G$7 → $G7 → G7
1回押す・・・行と列が絶対参照
2回押す・・・行が絶対参照、列は相対参照
3回押す・・・行が相対参照、列が絶対参照
4回押す・・・行と列が相対参照
4回押すことで最初の状態に戻るので、押す回数を間違えても安心です!
絶対参照でコピペすれば、範囲はズレない
最後に、絶対参照でコピペしたときの結果を紹介して終わります!
F4キーで範囲を絶対参照($F$7:$G$16)にしてVLOOKUP関数コピペすると・・・
今度は#N/Aがありません!
「価格」もちゃんと正しい値が取得できていますね!
コピペしたVLOOKUPを見ても、
範囲ズレてないですね( ^ω^)!!
以上です!
コメント