Excelを勉強しましょう EnjoyExcel

アイコンの機能や関数の説明、VBA初心者向けの勉強方法について情報掲載しています。関数、VBAともに理解が進むように出来るだけ事例を交えて説明しています。

絶対参照と相対参照 VLOOKUP の範囲って何でズレるの?

f:id:EnjoyExcel:20210626122025p:plain


依頼者:「絶対参照」って何ですか?なんで$付けるんですか?
 

私:「絶対のその範囲を参照しますよ」って事です。$はその印ですね。

 

依頼者:「関数書いてる時は絶対その範囲を参照させるつもりで書いてますけど・・・」

 

なんてやりとりがありまして・・・

 

決して意地悪しているわけではくちょっと考えてほしくてやり取りしました。

 

私が基本情報技術者試験を受けた時にこの問題出てたな~。今は出題されるのか分かりませんので責任持てませんが覚えておいた方が良いワードです。

 

では早速本題に入りましょう。

 

先に行と列の考え方をおさらいしておきましょう。

 

行はセル画面左端の番号、列はセル画面最上部の記号です。

 

行列のうえでマウスを右クリックすると行や列を削除したり幅や高さを指定できるコマンドが出ると思います。

 

「どっちが行だったかな?」と思ったら上記のように確認してみてください。

f:id:EnjoyExcel:20210416155154p:plain

 

次に絶対参照と相対参照の説明です。

この動画で少し説明しています。見ていただけると助かります。

50秒あたりからがおすすめです。

 https://youtu.be/ULB-SEpHsp8


動画の中でも説明していますが1つのセルに書いた関数って行方向や列方向に展開する事ってないですか?

 

例えば1つのセルに書いた関数を行方向に展開すると範囲も1行ずつ下にズレていきます。第1引数の検索値もセルで設定していると同じようにズレが発生します。

f:id:EnjoyExcel:20210416231503p:plain

これはズレているのではなくて相対参照をというかたちをとっています。

関数を書いたセルから参照先のセルの距離を一定に保ったまま関数を別のセルに展開しているという事です。

f:id:EnjoyExcel:20210418132332p:plain



そんな機能いるのかよ!! って思いますよね。私は必要な機能だと思っています。

 

理由は後で書きます。次に絶対参照です。

 

絶対参照は指定した範囲や検索値に$マークを付けると関数を書いたセルを別のセルに展開しても必ず同じ範囲を参照範囲として認識してくれます。これは必要だよね。って比較的早くイメージ出来ると思います。

 

ではなぜ相対参照も必要なのか説明します。

絶対参照と相対参照は組み合わせて使うとかなり有効に関数を他のセルに展開出来ます。とても便利なので覚えると仕事が楽になります。

 

では説明に入りますが・・・その前に・・・お気付きの方も居るかと思いますが上の方に添付された動画の中でも絶対参照と相対参照を既に組み合わせて使っています。

 

動画の中でセルH5に =VLOOKUP(H5,$D$5:$F$34,3,FALSE) という関数を書いています。

 

この関数をセルH9まで展開しても第2引数の参照範囲はズレませんよという説明なのですが第1引数を見て下さい。$マーク付いてないですよね。これは相対参照です。

 

検索値は相対参照にしないと関数を書いたセルを展開する時に毎回同じ検索値を調べてしまいますよね。相対参照させたいセルが並んでいる方向とセルを展開する方向が同じだと関数を展開する際非常に都合が良い事が分かります。

 

f:id:EnjoyExcel:20210416232602p:plain

 

$マークは列だけに付けたり行だけに付けたりという形でそれぞれを固定出来たり固定させなかったり指定する事が出来ます。この辺は応用編になるのでまたの機会にしましょう。