A1参照形式とR1C1参照形式の表記の違い。

R1C1参照形式という行・列を数字で扱う行列表示方式があります。
列の見出し表示が「A,B,C」ではなく「数字」になってしまった!   などと、Excelが壊れてしまったように問い合わせてくる方が時々いますが、A1参照形式(列をA,B,C・・・で表記する通常の形式)は、Excelのデフォルトであり、ほとんどの人がこの形式で計算式などを作っていると思いますから不思議なことではありません。 でも、皆さんにはもっとExcelを知って使いこなしていただきたいので、最初のうちに「絶対参照」R1C1参照形式」について説明することにしました。
R1C1参照形式」は一般的なものではありません。   当サイトでは、計算式やVBAを作成・開発する側の方への説明として、「R1C1参照形式」を結構多用し、半ばお勧めしています。
ですが、Excelでは「A1参照形式」がデフォルトであり、一般ユーザーでは「R1C1参照形式」そのものを知らないケースも非常に多く見られます。



このことから、開発上では「R1C1参照形式」をお勧めするものですが、作成したものを一般に配布する段階では「A1参照形式」に戻すようにして下さい。 「R1C1参照形式」のまま配布してしまうと、そのワークブックを開いている時に後から開いたワークブックも一時的に「R1C1参照形式」になってしまい、その状態で後から開いたワークブックの方を保存すると「R1C1参照形式」で保存されるという弊害が発生します。



R1C1参照形式」で運用するのは別に問題があるわけではありませんが、上のコラムにあるような誤解もあるのでご注意下さい。
「相対参照」「絶対参照」の動作を試してみましょう。

R1C1参照形式」が何者か、どう記述するものなのか解らない方も多いでしょうが、とりあえず前ページと同じように「相対参照」「絶対参照」の表記を見てみます。
R1C1参照形式」を知らなくても「A1参照形式」から切り替えられるので、その方法で進めます。

A1セルの値を参照する。
A1参照形式」のままでC3セルからは相対参照でA1セルを参照、 D3セルからは絶対参照でA1セルを参照するように計算式をセットした状態です。

ここまでは前ページの最初の方と同じです。では、これを「R1C1参照形式」に変更してみます。

R1C1参照形式に変更する。
Excelのオプション」で左ペインで「数式」を選択し、「R1C1参照形式を使用する」にチェックを付けて「OK」をクリックします。

このようになりました。

R1C1参照形式に変更する。
列方向の見出し「A, B, C...」が数字の1, 2, 3...になってしまった他、 D3セルの計算式が「=R1C1」に変わっています。
A1参照形式」の時は「=$A$1」だったわけですから文字数的には同じですね。

では、C3セルを見てみましょう。

R1C1参照形式に変更する。
C3セルの計算式が「=R[-2]C[-2]」に変わっています。
A1参照形式」の時は「=A1」だったわけですから長い計算式になってしまいました。

R1C1参照形式」とは、行列ともに数字となる表示形式のことです。

R1C1参照形式の「R」は「Row()」、 「C」は「Column(カラム)」を意味します。
さらにR1C1は「R」が先であることから「行⇒列」の順に行列位置を記述します。 A1参照形式が「列⇒行」の順に行列位置を記述することから「行列」の言葉や数学の行列の表記順位、マクロ(VBA)などのインデックスの上位・下位の順にも反するため、 学生さんにExcelを学ばせるなら最初から「R1C1参照形式」で入った方が良いのでは、とも思ってしまいます。

さらに、あることに気がつく現象があります。前ページ同様にC3D3セルを1行したにコピーしてみます。

R1C1参照形式に変更する。
1行下に貼り付けたのでC4セルが選択された状態になっています。
ここで計算式を見ると「=R[-2]C[-2]」となっていて、C3セルの時と式の文字列としては全く同じなのです。

A1参照形式の時はC3セルの式は「=A1」だったのが、C4セルの式は「=A2」となるので、 前ページの説明で「相対参照だから移動する行列が一緒にシフトする」というように理解されていたと思いますが、
=R[-2]C[-2]」から類推できることは「現在セルの2行手前の2列手前のセルを参照」ということです。 このことは、計算式を投入したセルの位置には関係なく常に「現在セルの2行手前の2列手前のセルを参照」なのですから、計算式を文字列で見ると全く同じだということです。

R1C1参照形式」を使う方は基本的に「相対参照」「絶対参照」も理解されているでしょう。

VBAなどプログラム言語からExcelシートを扱う場合には配列操作をすることも多く、 列方向のインデックスが英字ではなく数字である方が判りやすく、計算式を編集するのでなくても間違いないプログラミングにつなげられます。

そうでない方だとしても相対参照、絶対参照が式の表記の上で「直感的」に解りやすいと思います。
ちなみに、カッコ([])内の数字は、現在セルからの参照先行列の移動量であり、プラスが先、マイナスが手前ですが、プラス符号は記述しません。また、ゼロはカッコを含めて記述しません。 従って、同じ行のA列のセルは「RC1」と書けば行方向は相対参照、列方向は絶対参照での記述になります。

ここで改めて整理してみます。

 参照形式    A1参照形式の表記   R1C1参照形式の表記  参照形式の意味
 相対参照  =A1  =R[-2]C[-2]  A1セルはC3セルから見て2行手前の2列手前のセル  
 絶対参照  =$A$1  =R1C1  A1セルはどこから見てもA列の第1行目のセル

R1C1参照形式」を使うことは特段にお勧めするわけではありませんが、 「相対参照」「絶対参照」についてはきちんと理解されることが賢明だと思います。