今回のEXCEL関数解説は「ADDRESS関数」についての解説です。
動的で汎用的な帳票を作成するのに不可欠な関数となりますのでしっかり覚えてくださいね!
ADDRESS関数とは?
ADDRESS
関数は、指定した行番号と列番号から、セルのアドレス(セル番地)を文字列で返す関数です。
例えば、行番号「2」、列番号「3」を指定すると、「$C$2」という形式でセル番地を返してくれます。
これは、動的な参照先の作成や、INDIRECT関数と組み合わせた柔軟な参照など、実務でも非常に応用範囲の広い関数です。
構文
=ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
引数 | 内容 |
---|---|
row_num |
必須。行番号(1からの数値) |
column_num |
必須。列番号(1からの数値) |
abs_num |
省略可。参照の種類を指定(デフォルトは1) 詳細は以下を参照 |
a1 |
省略可。A1形式(TRUE)かR1C1形式(FALSE)を選択 |
sheet_text |
省略可。シート名を含める場合に指定 |
abs_num の設定値一覧
引数「abs_num」に与える値と戻り値の形式の対応は以下の通りです。
abs_num | 戻り値の形式 | 意味 |
---|---|---|
1 | $A$1 |
行・列ともに絶対参照 |
2 | A$1 |
列は相対、行は絶対参照 |
3 | $A1 |
行は相対、列は絶対参照 |
4 | A1 |
行・列ともに相対参照 |
使用例
基本的な使い方
=ADDRESS(3, 2)
👉 結果:$B$3
絶対参照ではなく、相対参照にしたい
=ADDRESS(3, 2, 4)
👉 結果:B3
R1C1形式で返したい(A1形式ではなく)
=ADDRESS(3, 2, 1, FALSE)
👉 結果:R3C2
他のシートを指定してアドレスを返したい
=ADDRESS(3, 2, 1, TRUE, “Sheet2”)
👉 結果:Sheet2!$B$3
よくある活用例
セルの参照位置を動的に変更した場合にADRESS関数とINDIRECT関数の組み合わせで実現する使用方法が、実際の現場で一番使う事になると思います。
1. INDIRECT関数との組み合わせ(定番)
セル番地を動的に作って参照する際に使われます。
=INDIRECT(ADDRESS(B1,B2))
👉 B1に列番号、B2に行番号を指定することで動的なセルの参照を行います。
2. 列番号から列文字を取得する
Excelで列番号「3」を「C」に変換したいとき
=SUBSTITUTE(ADDRESS(1, 3, 4), “1”, “”)
👉 結果:C
ADDRESS関数を使うメリット
-
セル位置を動的に参照したいときに便利
-
INDIRECT関数と併用すれば、柔軟なデータ処理や表作成が可能
-
シート名付きのセル番地が簡単に作れる
注意点とデメリット
-
ADDRESS関数単体では値の取得はできない(文字列として返すのみ)
-
INDIRECT関数と組み合わせると参照が遅くなることがある
-
列番号を扱うので、列番号→列名変換が必要な場面がある
まとめ
ExcelのADDRESS
関数は、セルの位置を文字列として扱いたいときに非常に有効な関数です。特に、INDIRECT関数との連携によって柔軟なスプレッドシート操作が可能になります。
関数の仕組みを理解しておけば、他の高度なExcel関数の利用にも応用できるため、業務効率化にも直結します。
コメント