Excelでセルを指定するときは通常「A1」や「B2」のように記述しますが、計算結果としてセルの参照を文字列で自動生成したいときがあります。そんなときに便利なのが ADDRESS関数 です。ADDRESS関数を使えば、行番号と列番号を指定するだけでセル参照を文字列として返すことができます。
ADDRESS関数とは?
ADDRESS関数は、指定した行番号と列番号に基づいて、セル参照を文字列として返す関数です。
- A1形式とR1C1形式の両方に対応
- 絶対参照・相対参照の切り替えも可能
書式
=ADDRESS(行番号, 列番号, [参照の種類], [参照形式], [シート名])
=ADDRESS(行番号, 列番号, [参照の種類], [参照形式], [シート名])
引数
- 行番号:セルの行番号を指定します。
- 列番号:セルの列番号を指定します。
- 参照の種類(任意)
- 1または省略:絶対参照の文字列を返す($A$1)
- 2:行は絶対参照、列は相対参照の文字列を返す(A$1)
- 3:行は相対参照、列は絶対参照の文字列を返す($A1)
- 4:相対参照の文字列を返す(A1)
- 参照形式(任意)
- TRUEまたは省略:A1形式
- FALSE:R1C1形式
- シート名(任意):シート名を指定すると
Sheet1!A1
のように返す
使用例
- 基本的な使い方
=ADDRESS(2, 3)
→ 結果:$C$2
(2行3列 → C2セル) - 相対参照を返す
=ADDRESS(2, 3, 4)
→ 結果:C2
(相対参照で返す) - R1C1形式で返す
=ADDRESS(2, 3, 1, FALSE)
→ 結果:R2C3
(R1C1形式で返す) - シート名を付ける
=ADDRESS(2, 3, 1, TRUE, "Sheet2")
→ 結果:Sheet2!$C$2
活用例
- セル参照を動的に生成:計算で行・列番号を変え、参照を自動作成
- INDIRECT関数と組み合わせ:動的に作成した参照を実際のセル参照として利用
- シート間のリンク作成:シート名を指定して他シートの参照を自動生成
注意点
- 返すのは文字列
ADDRESS関数単体ではセル参照として使えないため、必要ならINDIRECT関数と組み合わせます。 - 参照の種類に注意
絶対・相対参照を使い分けるときは引数を明示的に指定しましょう。
関連関数
- INDIRECT関数:文字列をセル参照として扱う
- ROW関数:セルの行番号を返す
- COLUMN関数:セルの列番号を返す
まとめ
ADDRESS関数は、行番号と列番号からセル参照を文字列として生成する便利な関数です。
- 書式:
=ADDRESS(行番号, 列番号, [参照の種類], [参照形式], [シート名])
- A1形式・R1C1形式や絶対・相対参照の切り替えに対応
- INDIRECT関数と組み合わせると動的なセル参照が可能