
エクセルやGoogleスプレッドシートでで、指定した行と列の番号からセルの番地を生成する「ADDRESS関数」の基本を解説します。「INDIRECT関数と組み合わせてセルの中身を取得する方法」や、「別シートの参照方法」も解説しているので、ぜひ参考にしてみてください。
ADDRESS関数の基本

指定した「行番号」と「列番号」から、セルの番地(例:A2)を文字列として返します。
例:=ADDRESS(2,1,4)
ADDRESS関数の引数:(行番号, 列番号, [参照の種類], [参照形式], [シート名])
【第3引数:参照の種類】
セルの番地を絶対参照にするか相対参照にするかを 1〜4の数字 で指定します。
- 1 (省略時):行と列の両方を絶対参照にする(例:
$A$2) - 2:行だけを絶対参照にする(例:
A$2) - 3:列だけを絶対参照にする(例:
$A2) - 4:行と列の両方を相対参照にする(例:
A2)
📖 第4引数「参照形式」とは?
セル番地の表示形式を指定する設定ですが、基本的には省略します。R1C1形式のRはROW(行)、CはCOLUMN(列)を表します。
- 0:R1C1形式にする(例:
R2C1) - 1(省略時):A1形式にする(例:
A2)
ROW関数やCOLUMN関数と組み合わせる

ADDRESS関数の「行番号」や「列番号」に、ROW関数とCOLUMN関数を組み合わせることで、数式を下方向や右方向にコピーしたときに自動的にセル番地が切り替わります。
例:=ADDRESS(ROW(A2),COLUMN(A2),4)
INDIRECT関数と組み合わせてセルの「中身」を取得する

INDIRECT関数は指定した「参照文字列」を「実際のセル参照」として値を返します。
例:=INDIRECT(ADDRESS(2, 1,4))
INDIRECT関数の引数:(参照文字列, [参照形式])
【数式の解説】
- ADDRESS関数:
A2という「文字列」を生成します。 - INDIRECT関数:
A2という文字を実際のセルの番地として、A2セルの中身を取得します。
「別シート」のセルを参照する方法

第5引数の「シート名」に、シートの名前を("") で囲んで記述します。
例:=INDIRECT(ADDRESS(2, 1, 4, , "別シート"))
💡 ポイント:第4引数の「参照形式」はカンマを2回続けて打って飛ばします。
「範囲」を指定する

2つのADDRESS関数で「開始セル」と「終点セル」を生成し、以下のように「&」で結合します。
例:=SUM(INDIRECT(ADDRESS(2,1)&":"&ADDRESS(4,1)))