LibreOffice 6 Calc - セルの相対参照と絶対参照
LibreOfficeもしくはApache OpenOfficeのCalcのセルは、Microsoft Excelのセルと同様、列名を示すアルファベットの大文字と行名を示す自然数との組み合わせでA2やB4のように参照することができる。
参照とは、A2やB4などと入力することによってそれらのセルの値を別のところから指し示すことができることを意味する。別のところというのは例えば別のセル。
ただし別のセルにA2やB4などとただ入力するだけではそういう文字列だと認識されてしまう。それが別のセルを指し示す参照であることを示すには、それらの先頭に=をつけてそれが式であることをCalcに知らせる必要がある。要するに=A2や=B4のように入力する。
=A2や=B4のようにセルに入力すると、それが指し示しているA2というセルまたはB4というセルに入力されている値がそこに表示されるようになる。
この参照という機能を使えば、=A2 + B4という式を入力してその答えの値をそのセルに表示させることができる。=A2 + =B4でないことに要注意。=は式の先頭にのみ付ける。
相対参照とはベクトル
実を言えば、A2やB4といったセルの参照方法は相対参照を表わしている。本当は$A2や$B4と表わさなければならない。$A2や$B4とする参照の仕方を絶対参照と呼ぶ。
じゃあ、相対参照と絶対参照では何が違うのか。
相対参照はそれを入力したセルと参照対象になるセルとの間の距離を計っている。
どういうことかと言うと、セル$A2に64という値が入力されていてセル$B4に=A2という式を入力したとする。そうするとセル$B4には64と表示される。ここまでは絶対参照と同じ。
でも実際には=A2は、$A2の場所が$B4から見て左へ1つ、上へ2つ移動したところにあるという相対的な位置関係によって参照している。相対参照とはシートを平面上のデジタル的な座標と考えた場合のデジタル的なベクトルのようなもの。
相対参照であることはその式をコピーしたときにはっきりと分かる。
セル$B4に入力した式=A2を別のセル、例えば$C3というセルにコピーしてみる。そうすると、コピーした式が自動的に=B1に変わってしまう。相対参照ではその式が文字通りにコピーされない。参照先が変わってしまう。
A | B | C | |
---|---|---|---|
1 | |||
2 | 64 | =B#REF! | |
3 | =B1 | ||
4 | =A2 |
※ 実際のセルには式は表示されず、その結果である数値が表示される。
セル$C3に何がコピーされたかと言えば、$C3から見て左へ1つ、上へ2つ移動したところにあるセルである$B1になる。
同様のコピーを今度はセル$C2に対して行うと=B#REF!がコピーされてしまう。これは相対参照先のセルが存在しないことを意味している。
絶対参照による式を使えばこういうことは起きない。次は絶対参照で同じことをした例。
A | B | C | |
---|---|---|---|
1 | |||
2 | 64 | =$A2 | |
3 | =$A2 | ||
4 | =$A2 |
相対参照を用いると集計が非常に便利。セル$C1の式=A1+B1をそれ以下にコピーすれば、相対的参照が適用され、それぞれの行の集計を行ってくれる例が次のとおり。
A | B | C | |
---|---|---|---|
1 | 5 | 10 | =A1+B1 |
2 | 2 | 5 | =A2+B2 |
3 | 7 | 8 | =A3+B3 |
4 | 2 | 8 | =A4+B4 |
5 | =SUM(C1:C4) |
コメント
コメントを投稿