目次:
【第3回】アプリケーションソフト:Office系Tool 第1章
第3章
--自動計算
--セル参照
--行・列の操作
--グラフの作成
--シート間の参照
--演習問題
--絶対参照の補足
|
絶対参照の補足
【本節の目的】
絶対参照に関する補足を行います。 相対参照と絶対参照の合わせ技 (複合参照)
[演習 31]
前節で保存した「ex4.sxc」に適当な名前でシートを追加し、 そのシート上で、以下の九九のサンプルをテキストを参考に実行し、 最終的に九九(実際には五の段まで)の表を完成しなさい。 完成後は、「ex4.sxc」に上書き保存しなさい。
相対参照と絶対参照だけでは、
コピー(オートフィル)がうまく働かないことがあります。 ![]()
セル B2 に式を入力し、これをコピー(オートフィル)して、
表を完成することにします。 ![]() ところが、セル B2を横方向にオートフィルしたらどうでしょう? ![]() おかしなことになりましたね。理由を確かめるために、 セル E2 の式を見てみると、「= D2 * $B$1」 に、なっています。 ![]()
これは、セル B2 の内容を考えると当前の結果です。 それでは、セル B2 を「= $A$2 * B1」とすれば、上の問題は一応は解決できますが、 これでは、先程とは逆に、縦方向にオートフィルしたときに、 同じ様におかしくなってしまいます。 このようなときに、うまくコピーが働くよう、 相対参照と絶対参照を複合的に利用できる仕組が下表のように用意されています。
(註) 絶対参照を用いるときは、参照するセルをマウスでクリックした後、 Shift + F4 (Shiftキーを押しながらF4キーを押す)で、良かったですが、 実は、再度 Shift + F4 を行うと、行のみ絶対参照になり、 もう一度 Shift + F4 を行うと、列のみ絶対参照となります。 更に、Shift + F4 を行うと、行・列ともに(「$」の付かない)相対参照に戻ります。
上の複合参照を少し試してみましょう。 ![]() つぎに、セル B2 に、「=A$2」と入力して、 縦方向と横方向にオートフィルしてみましょう。 そうすると、以下のようになります。 ![]() この場合、みな「2」になっていますが、縦方向と横方向では、 動作が異っています。 縦方向にオートフィルされたセルは、みな「A$2」となっています。 これは、もともと、縦方向にオートフィルするときには、 縦方向の相対位置は変わらないので、行番号だけが自動的に(相対的に)変わります。 それに対して、横方向にオートフィルされたセルは、 列要素が相対参照で変わっています。ただし、 今回は自分の一つ左のセルを参照することになっているので、 同じ物が次々にコピーされ、結果としてみな同じになっています。 最後に、セル B2 に、「=B$1」と入力して、 縦方向と横方向にオートフィルしてみましょう。 そうすると、以下のようになりますが、もう大丈夫ですよね? ![]() 以上の複合参照を使えば、九九の表は、簡単に完成できますね。 つまり、セル B2 に、「= $A2 * B$1」を書き、後は、 縦横にオートフィルを行い完成です。 ![]() 試しに、セル E5 を確認してみると、 「= A5 * E1」(実際には、「= $A5 * E$1」) が書きこまれているのが確認できます。 (下図参照) ![]() |