003 - 相対参照と絶対参照

 なにやら難しそうな言葉が出てきました、いったい何の事でしょうね?
実際にコレを使う場面に遭遇すると、、、
「おぉ〜、なるほどね」とうなずいてしまい、とても便利な事に気づきます
今では、コレが無いと仕事が出来ません!


111
 相対参照、、、って何?

 某PCショップにて、パソコンと周辺機器の売上表を作ってみました
各商品ごとに、販売価格と販売数を掛け合わせた金額(売上)を、D列に表示しようと思います


 まず、MECパソコンの売上を、セルD2に表示するために計算式”=B2*C2”と入力します
計算結果が表示されました(数式バーに計算式が表示されています)
そして、
セルD2を選択し、右下のフィルハンドルにマウスポインタを合わせ、+になったところでセルD7までドラッグします


 すると、セルD3〜D7まで一気に計算式が代入(コピー、貼り付け)されました。しかも、きちんと行に合わせられています
セルD2の数式 ”=B2*C2” が他のセルにも代入されていると思いきや、
セルD3には ”=B3*C3” 
セルD4には ”=B4*C4” 
セルD5には ”=B5*C5” 、、、と、いうように
答えを返すセルが1行が変わると、計算式内の参照セルも1行変わっています
 このように、計算式をフィルハンドルでドラッグして代入した場合、セルが、1行、又は1列移動するごとに、
計算対象のセルも同じように移動することを相対参照といいます


 じゃ、絶対参照って何よ?

 今度は、売上表ではなく、値引表を作ってみました
(実際の業務においては、こんなもの作っても役に立たないとおもいますが、例題を分かりやすくする為に失礼します (^^♪)
各商品ごとに、販売価格と値引率を掛け合わせた金額(値引額)を、C列に表示しようと思います


 まず、MECパソコンの値引額を、セルC3に表示するために計算式”=C1*B3”と入力します
計算結果が表示されました(数式バーに計算式が表示されています)
そして、セルC3を選択し、右下のフィルハンドルにマウスポインタを合わせ、+になったところでセルC8までドラッグします


 セルC4からC8まで計算式が代入されました、
 あれれぇ〜、なんか変です。#VALUE!や########などのエラーが表示されてしまいます
そこで、それぞれの計算式を確認したところ、あ〜なるほど、、、
次のように C1 を全部の計算式に使いたいのですが
 セルC3には ”=C1*B3” 
 セルC4には ”=C1*B4” 
 セルC5には ”=C1*B5” 、、、
相対参照が働いてしまって、参照するセル(C列)が1行づつ、ずれています
 セルC3には ”=C1*B3” 
 セルC4には ”=C2*B4” 
 セルC5には ”=C3*B5
コレじゃまずいので、値引率が入力されたセルC1を固定して参照させないといけません


 セルC3の計算式を、セルC8までドラッグした時に
販売価格のセルB3〜B8までは相対参照で、参照先を1行ごと移動して欲しいのですが
値引率のセルC1は移動せずに、固定で参照させないといけません
こんなときは、セルC1の C の前後に$(ドル)を付けて、セル$C$1とする事で固定できます
キーボードからの手入力でも良いのですが、数式バー内で目的のセルを選択し
キーボードの F4 キーを押すだけで C1 を $C$1と変える事も出来ます。

 F4キーを押す→ 

 セルC3の計算式を =C1*B3 から =$C$1*B3 に変えて
ドラッグして計算式を代入すると、、、出来ました!きちんと計算されています
このように、参照先のセルを固定する事を絶対参照と言います


Top