絶対参照2(九九表作成)

数式入力時にF4キーを押して絶対参照にしますが、例えばA1のセルを絶対参照にすれば『$A$1』と$マークが列と行の左につきます。この時につく$の記号は通貨の$とは関係ありません。引き続きF4キーを押すと『A$1』となり再度F4キーを押すと『$a1』となり、もう1回押すと『A1』と元に戻ります。

『A1』→『$A$1』→『A$1』→『$A1』→『A1』

とぐるぐる循環します。

『A1』と『$A$1』は相対参照と絶対参照です。『A$1』と『$A1』は絶対参照です。

確認になりますが、数式をフィルハンドルでコピーするときに縦にドラッグしてコピーするか横にドラッグしてコピーするかでコピーされるセル参照が変わります。

sanshou

B2のセルに『=B1』という数式を入力しました。それを縦方向と横方向にオートフィルでコピーしました。縦方向のB列の数式は『=B1』の式の『B』はそのままで行を参照する数値が、2、3と変化しました。逆に列方向のコピーは『=B1』の式の列の部分がC、Dと変化し、行を表す『1』は変化しません。これは絶対参照と相対参照にも書きましたが、B2のセルには自分の一つ上のセルを参照するという式が入っていると思えばコピー先もいつでも自分のセルの1つ上を参照する式が入ると考えれば理解しやすいと思います。

sanshou_1

B2のセルの式を『=$B$1』という絶対参照の数式に変更すると縦方向も横方向も数式は変化しません。

そこで『A$4』と『$A4』ですが、これは数式をコピーする方向に関係なく$の右側は変化しませんということです。

sanshou_2

『=B$1』は$の右の『1』は縦横どちらにコピーしても変化しませんが、『B』は横方向にコピーするとC,Dと変化します。

sanshou_3

『=$B1』は$の右の『B』は縦横どちらにコピーしても変化しませんが、『1』は縦方向にコピーすると2、3と変化します。

この仕組みを使って九九表を作ってみましょう。

kuku

A列と1行目の数値を使ってセルB2に数式を入れてその数式1つを縦、横にフィルハンドルを使ってコピーして作成します。

まずセルB2に『=A2*B1』という式を入れて縦方向にコピーしてみます。

kuku_1

4行目からおかしくなり9行目ではとんでもないことになっています。B2の『=A2*B1』という式は『セルB2から見て自分の隣のセルと自分の1つ上のセルを掛けてください』という意味ですから『=A2*B1』の『A2』は『A3』『A4』とうまく変化してくれますが、『B1』の方も『B2』『B3』と変化してしまいます。『B1』は変化しては困ります。

次は『B1』が変化しないように、セルB2に『=A2*$B$1』という式を入れて縦方向にコピーしてみます。

kuku_2

確かにB列はうまくいきましたが、それをそのまま横方向にオートフィルでコピーするとすべてがB列と同じ結果になってしまいます。セルJ10には9×9のA10×J1の数式が入っていないとだめなのですが、実際はセルB2の『=A2*$B$1』は『自分のセルの左隣とB1のセルを掛けてください』という意味なので『I10*$B$1』と全く違う式になっています。

B2、C2、D2と各列の頭の数式を『=A2*$B$1』、『=A2*$C$1』、『=A2*$D$1』と9個作ってあげれば解決できます。

でも、面倒なので1つの数式でできる方がいいですね。ちょっと回りくどいですが理解しやすいように2つ数式を入れてみます。

kuku_3

B2のセルに入れた式が、縦方向と横方向にオートフィルでコピーでコピーしたときにC3のセルのような式に変わっていてくれたら一気に解決します。

そこでB2のセルの式の『=A2*B1』とC3のセルの『=A3*C1』の式で変化していないところを見つけます。『=A3*C1』の1項目のAと2項目の1はB2のセルの式と同じですね。A列と1行目をいつでも参照して計算してくれればいいのです。

つまりB2のセルに入れる計算式は『=$A2*B$1』です。変化してほしくないところだけ$が付くようにすれば1つの計算式で九九表が作れます。

いろいろと活用してください。

 

コメントを残す

メールアドレスが公開されることはありません。