スプレッドシートセルにはアドレスが付加されています。それを使用して、同じスプレッドシートや別のスプレッドシート内のセルへの相対参照や絶対参照を作成することができます。
- セルアドレス
- セルのアドレスは、列および行によって指定されます。例えば、スプレッドシートの最初のセルのアドレスは、列 が A、行 が 1 であるため、A1 として指定されます。セルの範囲のアドレスを指定するには、その範囲の一番左上のセルのアドレス、コロン (:)、その範囲の一番右下のセルのアドレスの順に入力します。例えば、スプレッドシートの最初の 4 列と最初の 4 行で形成される四角形は、A1:D4 として指定されます。
- セルのアドレスは、スプレッドシート内の相対参照と絶対参照を作成するために使用します。
- 相対参照
- 相対参照は、スプレッドシートに新規の列または行が挿入されると、自動的に調整されます。例えば、セル E1 にセル範囲 A1:C3 の合計を表示するものとします。セル E1 には数式 =SUM(A1:C3) を入力します。ところが後になって、列 A の前に 1 列新しい列を挿入することにしました。そうすると、合計を出すセル範囲は B1:D3 に変り、数式の位置もセル E1 ではなくセル F1 に変わってしまいます。新しい列 A を挿入すると、数式 =SUM(A1:C3) は自動的に =SUM(B1:D3) に変更されます。
同様に、新しく行 1 が挿入された場合などに、行番号は自動的に変更されます。
- 絶対参照
- 絶対参照は、数式でスプレッドシート内の特定のセルを参照する場合に使用します。このセルを参照している数式を、元のセルの下にあるセルに相対コピーすると、セル番号を絶対参照として定義していない場合、参照も自動的に下方向に変更されます。
- 絶対参照では、セルアドレスの列の文字と行番号の前にドル記号 ($) が付加されます (例えば $A$1)。[Shift] + [F4] を押すことによって、現在の参照 (入力行でカーソルが置かれている場所) について相対参照から絶対参照に切り替えることができます。例えば A1 などの相対参照があった場合、最初に [Shift] + [F4] を押したときは、列と行がともに絶対参照に変わります ($A$1)。もう一度押すと行だけが絶対参照になり (A$1)、さらにもう一度押すと列だけが絶対参照になります ($A1)。このキーの組み合わせをもう一度押すと、列と行の両方が相対参照 (A1) に戻ります。
参照されている範囲が移動したときは常に、絶対参照と相対参照の両方が調整されます。しかし、数式をコピーするときには注意が必要です。この場合、相対参照だけが調整され、絶対参照は調整されません。
新しい行や列を挿入する場合だけでなく、特定のセルを参照している既存の数式を同じスプレッドシートの別の範囲にコピーした場合も、参照は変更されます。例えば、数式 =SUM(A1:A9) をセル A10 に入力したと仮定します。この右にある列の合計を計算する場合、セル A10 の数式をセル B10 にコピーします。セル B10 内の数式のコピーは、自動的に=SUM(B1:B9) に調整されます。
- 同じスプレッドシートの他のシートからセルを参照する
- 同じスプレッドシートの別のシートからセルを参照するには、シートおよびセルを指定します。例えば、Sheet1 および Sheet2 という名前の 2 つのシートを含むスプレッドシートがあり、Sheet1 のセル A1 に対して加えたすべての変更を、Sheet2 のセル A1 にも反映させたい場合は、Sheet2 のセル A1 に移動し、=Sheet1.A1 と入力します。これで、Sheet1 のセル A1 に入力された値は、Sheet2 の同じセルにも表示されます。
- 別のスプレッドシートのセルを参照する
- 別のスプレッドシート内のセルを参照するには、ソース文書とセルアドレスの両方を参照する必要があります。例えば、C:¥test¥test.ods という名前のスプレッドシートがローカルに保存され、このスプレッドシートに Sheet1 というシートが含まれているものとします。新規スプレッドシート内で、保存されたスプレッドシートの Sheet1 上のセル A1 を参照したいと考えています。
- 新規スプレッドシートのセルにカーソルを置きます。='C:¥test¥test.ods'#Sheet1.A1 と入力して参照を追加します。すると、新規シート名の前にドル記号 ($) が付きます。これは絶対参照であることを示します。