土曜日, 5月 03, 2025

ExcelのR1C1形式とA1形式について

出先の Excelが突然R1C1モードになっていてビックリしたので、チョット勉強してみました。どうも大昔のスプレッドシートはA1C1だったようです。

まず、通常のExcelはA1モードだそうです。
列がアルファベット、行は数値

A1C1モードは・・・
列も行も数値

例えば・・・
D3 は R3C4 となります。
D3 > D列3行
R3C4 > 3行4列

設定の切替は・・・

■windowsの場合・・・

[ファイル]>[オプション]の・・・

[数式]>[R1C1表示形式を使用する]で切り替えます。

■macOSの場合・・・

Finder側の[Excel]> [環境設定]から・・・

[計算]から

[R1C1表示形式を使用する]で切り替えます。

もちろん関数の表記は自動的に切り替わります。ただし、マクロは自動的には切り替わりません。

例えば、A1;A5の数値をB1:B5に3倍にして書き出す処理をVBA記述すると・・・

' A形式の場合
Sub A1LoopExample()
Dim i As Integer
For i = 1 To 5
' A形式で式をセット:B列 = A列の値 × 3
Range("B" & i).Value = Range("A" & i).Value * 3
Next i
End Sub

' R1C形式の場合は・・・
Sub R1C1LoopExample()
Dim i As Integer
For i = 1 To 5
' R1C1形式で式をセット:B列(列2) = A列(列1)の値 × 3
Cells(i, 2).FormulaR1C1 = "=RC[-1]*3"
Next i
End Sub

こうして比べるとR1C1形式の方が判りやすいですね。