スプレッドシートやAppSheetなどを使っていると、数式の中でR[-2]C[3]、RC[-1]、R[3]C、C2:C2、 R3:R10といったRとCを用いた表記に出くわすことがあります。
ここでは、このRCの意味や使い方について実例を用いて解説しています。
RCとは何か? ~R1C1参照形式~
セルの指定というと「A3」や「BA27」のように列のアルファベットと行番号で指定するのがなじみが深く直感的でわかりやすいです。
セルの指定方法にはこれ以外に「R1C1参照形式」という方法があります。何やら難しそうに感じますが、実はとても簡単です。
R[-2]C[3]、RC[-1]、R[3]C、C2:C2、 R3:R10などの指定方法を「R1C1参照形式」と呼びます。Rは「Row」、Cは「Column」を表しています。
R1C1参照形式には「絶対参照」と「相対参照」があります。
絶対参照 ~R1C1~
絶対参照はセルの番地を直接指定するものです。「R1C3」のようにRとCの後ろに数値が入ります。それぞれ行番号と列番号を表しています。
行番号と列番号なので、数値は正の整数のみとなります(マイナスが入ることはありません)
R行番号C列番号
実例
例えば、「R1C3」は1行3列目のセル、つまり、A3セルを表しています。
「R10C5」であれば、E10列となります。
相対参照
相対参照は現在のセル(数式が入っているセル)から左右上下どこのセルかを指定するものです。
指定は整数で行います(マイナスもあります)
R[数値]C[数値]
記載する数値は現在のセルを原点としてXY座標の形で入力します。
行の指定方法
例えば、現在のセルから下に2行いった行を指定したい場合はR[2]とします。逆に、上に2行いったセルを指定したい場合はR[-2]とします。
列の指定方法
列も同様に、現在のセルから右に3進んだ列を指定したい場合はC[3]とします。逆に、左に3行進んだセルを指定したい場合はC[-3]とします。
[0]は省略する
ここで、1つ重要なポイントですが、現在の行または列と同じ場合すなわちR[0]かC[0]の場合は[0]を省略して、RまたはCと記載します。
実例
絶対参照は直感的にわかりやすいので、相対参照についていくつか実例を紹介します。
R[-2]C[3]とは何か?
R[-2]C[3]は、現在のセル(数式が入ったセル)から上に2行、右に3マス進んだ場所を指しています。
仮に現在のセルがE4であれば、H2セルを指定しているということです。
RC[-1]とは何か?
RC[-1]は、R[0]C[-1]と同じ意味になります。
すなわち、現在のセル(数式が入ったセル)と同じ行で、左に1マス進んだ場所を指しています。
仮に現在のセルがE4であれば、D4セルを指定しているということです。
R[-3]Cとは何か?
R[-3]Cは、R[-3]C[0]と同じ意味になります。
すなわち、現在のセル(数式が入ったセル)から上に3行、同じ列であることを指しています。
仮に現在のセルがE4であれば、E1セルを指定しているということです。
行全体の指定(R:R)
RC形式の指定方法の1つに「R2:R2」や「R3:R10」といった、Rのみを使った表記が出てくることがあります。
これは絶対参照の1つです。例えば以下のような数式です。
=xlookup(RC[-1],'本一覧'!R2:R2,'本一覧'!R7:R7,"")
これは、行全体を表しています。例えば「R2:R2」は、2行目全てです。
スプレッドシートでいうと、以下のような選択状態を指します。
「R3:R10」であれば、3行目~10行目までの全てです。
列全体の指定(C:C)
RC形式の指定方法の1つに「C2:C2」や「C3:C10」といった、Cのみを使った表記が出てくることがあります。
これは絶対参照の1つです。例えば以下のような数式です。
=xlookup(RC[-1],'本一覧'!C2:C2,'本一覧'!C7:C7,"")
これは、列全体を表しています。例えば「C2:C2」は、2列目全てです。一般的な指定方法だと「$B:$B」と同じ意味になります。
スプレッドシートでいうと、以下のような選択状態を指します。
「C3:C10」であれば、3列目~10列目までの全てです。一般的な指定方法だと「$C:$J」と同じ意味になります。