エクセルやGoogleスプレッドシートでセルの番地(アドレス)を取得する、ADDRESS関数の使い方をご紹介します。ADDRESS関数と組み合わせて使う関数や、別シートのセルを参照する方法についても解説しているので、ぜひ参考にしてみてください。
ADDRESS関数の使い方
ADDRESS関数のポイントは指定した行と列のセルを、中身(☆)ではなくアドレス(C2)で返すことです。参照の種類は以下の通りで、省略すると 1 の絶対参照を返します。
- 1:行と列の絶対参照(例: $A$1)
- 2:行は絶対参照で、列は相対参照(例: A$1)
- 3:行は相対参照で、列は絶対参照(例: $A1)
- 4:行と列の相対参照(例: A1)
ADDRESS関数の構成要素:(行番号, 列番号, [参照の種類], [参照の型], [シート名])
参照の型にはアドレスの表示形式を、0(FALSE) または 1(TRUE) で指定します。R1C1形式は使わないので、参照の型は基本的に省略でOKです。
- 0:R1C1 型表示を使用します。
- 1 または省略: A1 型表記を使用します。
R1C1 型のRはROW(行)を、CはCOLUMN(列)を表しています。
シート名には、セルのアドレスが指すシートの名前を示す文字列を指定します。このときシート名は、二重引用符(“シート名”)で囲ってください。
ADDRESS関数と組み合わせる関数
ADDRESS関数は多くの場合、ROW関数やCOLUMN関数と組み合わせて使用します。
例えば ADDRESS(ROW(),COLUMN(),4) なら、返り値は現在のセルのアドレスです。列のアルファベットのみ抽出する場合は、次の通りSUBSTITUTE関数で行番号を削除します。
SUBSTITUTE(ADDRESS(ROW(),COLUMN(),4),ROW(),””)
ROW関数の構成要素:([範囲])、COLUMN関数の構成要素:([範囲])
ADDRESS関数で別シートを参照する方法
ADDRESS関数のシート名に、参照するシートを入力します。例えば ADDRESS(2,3,4,,”Sheet2″) なら返り値はSheet2の2行目3列目のアドレス、Sheet2!C2 です。
これをINDIRECT関数の参照文字列に指定することで、別シートのセルの値を取得します。
なおADDRESS関数の4つ目の引数は参照の型になるので、カンマのみ打って飛ばしてください。
INDIRECT関数の構成要素:(参照文字列, [参照形式])
INDIRECT関数は、参照文字列に該当するセルの値(☆)を返します。
例:INDIRECT(ADDRESS(2,3,4,,”Sheet2″))
別ファイルを参照する場合、シート名は “[ファイル名]シート名!” になります。