![見出し画像](https://assets.st-note.com/production/uploads/images/137270780/rectangle_large_type_2_118ce7ae0e3c83ba6f9c7bb80e6b855f.png?width=1200)
セル参照の相対参照と絶対参照について【急】
さてセル参照の相対参照と絶対参照の最後の回です。
前回までの考え方をそういうもんなのねと納得できた方や
特に深堀する必要がない方は今回の内容は必要ないかもしれません。
相対とか絶対とか言ってるけど「=A1」はA1を指してるじゃん
なんでコピーして別のセルに貼り付けたら「=A2」になるの?
感覚ではなんかわかるけど気持ち悪いという人もいると思います。
相対参照は参照元のセルから見る、絶対参照は左上隅から見る
と言われてもどこ見たらそんな事わかる?という感じですよね。
実はわかる方法があるんです。
通常Excelは列方向に「A,B,C,D, …」行方向に「1,2,3,4, …」という
表示方法になっていますが、これをA1参照形式と言ったりします。
![](https://assets.st-note.com/img/1713085058798-VWZHM6tpbA.png)
これとは別に列方向も「1,2,3,4, …」行方向も「1,2,3,4, …」という
表示方法があります。こちらはR1C1参照形式と言います。
RはRow(行)、CはColumn(列)の頭文字です。
R1C1参照形式にするにはExcelのオプションで設定する必要があります。
上部メニューバーの「ファイル」を選択をして「オプション」を
クリックします。
![](https://assets.st-note.com/img/1713085490337-57q7ORHvKm.png?width=1200)
「R1C1参照形式を使用する」にチェックを入れます。
![](https://assets.st-note.com/img/1713085673793-Ho6mN9n47H.png)
行も列も数字の表示になります。
さて前回までのセルの参照をR1C1参照形式で確認してみましょう。
![](https://assets.st-note.com/img/1713086038231-xT1Sv1zkc1.png)
![](https://assets.st-note.com/img/1713086244843-Ik1SOo23oB.png)
まず相対参照の「=A1」が「=R[-2]C[-2]」となっています。
R1C1参照形式ではRとCの次の数字でセルの参照先を表します。
この例では数字が[ ]で囲まれていますが[ ]で囲まれている場合は
自分から見てどちらにいくつ移動するかということを表しています。
(つまり相対参照ということですね)
Excelは左上を基準に行なら下に数値が増え、列なら右に数値が増えます。
なのでこの場合R[-2]なので上に2、C[-2]なので左に2移動した位置の
セルを参照しているとなります。(つまりA1が参照先ですね)
ではC3のセルをコピーしてC4に貼り付けてみます。
![](https://assets.st-note.com/img/1713087265444-NMAeU4liW3.png)
C3の内容をC4に貼り付けましたが内容は「=R[-2]C[-2]」です。
コピーして貼り付けたので内容が同じなのは当たり前ですよね。
ただ相対参照の書き方なので結果として参照先がずれてA2を
参照する形になっているだけです。これをA1参照形式で表すと
「=A2」となるのでA1参照形式で相対参照しているセルをコピーして
貼り付けるとExcelがうまく参照先をずらしてくれるように
見えているだけです。
では絶対参照だとどうなっているのでしょうか?
![](https://assets.st-note.com/img/1713087695567-T1sOsHeKVI.png)
![](https://assets.st-note.com/img/1713087818678-AepA428aNO.png)
「=$A$1」が「=R1C1」となっていますね。
先ほどは[ ]がついてましたが今度は数字だけです。
R1C1参照形式ではRとCの次の数字でセルの参照先を表しますが
数字が[ ]で囲まれていない場合は基準が左上隅となりそこから
どちらへいくつ移動した先を参照しているかを示します。
つまり左上隅から行方向に1、列方向に1移動した先なので
A1のセルを参照しているとなります。これもC3からC4にコピー
した場合、内容は変わりませんので「=R1C1」となります。
つまりC4も左上隅から行で1、列で1移動した先を参照することに
なるので結果として参照先はA1のセルを参照します。
ちなみに相対参照で行の移動や列の移動がない場合はRやCの次の数字を
書きません。(=R0C[-2]はエラーになります)
例えばC3のセルがA3のセルを相対参照する場合はR1C1参照形式だと
「=RC[-2]」となります。
相対参照と絶対参照を使いこなす場合にR1C1参照形式のことまでは
知識として必要ありませんがきちんと理解する上で知っておくと
助けになるかもしれません。
ちなみにVBAでプログラムをする場合はR1C1参照形式を理解しておくと
ある列にその行の計算式を設定するときに便利なので覚えておいて
損はないと思います。
さてセルの相対参照と絶対参照は今回で終了です。
自分のスキルアップ用にPowerQuery用にM言語などについても
ちょこちょこかじっているので次はその辺りを書けたらいいなと
思っています。
(配信とかの方が伝わりやすい気もするけどやり方よくわからない…)