ADDRESS関数の使い方:指定した行番号と列番号からセル参照を求める関数:Excel関数

ADDRESS関数の使い方:指定した行番号と列番号からセル参照を求める関数:Excel関数

ADDRESS関数は、指定した行番号と列番号からセル参照を表す文字列を求める関数です。

使い方としては、単独で使用するというよりも他の関数と組み合わせた使い方が一般的です。例えば、INDIRECT関数やMATCH関数などと組み合わせることで活用の幅が広がります。

ADDRESS関数の基本的な使い方

対応バージョン:Excel365 2019 2016 2013 2010

ADDRESS関数の書式です。

=ADDRESS(行番号,列番号,[参照の種類],[参照形式],[シート名])
※カッコ内の「行番号,列番号,[参照の種類],[参照形式],[シート名]」を引数といいます。

引数の説明

  • 〔行番号〕:セル参照を求める行番号を指定。シートの先頭行を「1」とする。
  • 〔列番号〕:セル参照を求める列番号を指定。シートの左端列を「1」とする。
  • 〔[参照の種類]〕:戻り値を絶対参照形式にするか、相対参照形式にするかを指定(種類は後述)。省略可能。省略した場合は「絶対参照」形式となる。
  • 〔[参照形式]〕:戻り値をA1形式で返すか、R1C1形式で返すか指定(種類は後述)。省略可能。省略した場合は「A1」形式となる。
  • 〔[シート名]〕:他のシートのセル参照文字列を求める場合はシート名を指定。省略可能。省略した場合は「シート名」も省略されます。

参照の種類・参照形式の種類

参照の種類 参照形式
意味 意味
1または省略 絶対参照 TRUEまたは省略 A1形式
2 行は絶対参照、列は相対参照 FALSE R1C1形式
3 行は相対参照、列は絶対参照
4 相対参照

ADDRESS関数の使用例

セル参照文字列を求める

下記サンプルは、G4セルにG2とG3セルの行番号と列番号からセル参照文字列を求めます。

結果は「$C$7」が返されます。

ADDRESS関数の基本的な使用例

=ADDRESS(G2,G3,,1)

行番号には「7」、列番号には「3」、引数〔参照の種類〕は省略、引数〔参照形式〕は「1」を指定していますので、左から3列目で上から7行目、絶対参照、A1形式のセル参照文字列の「$C$7」がG4セルに求まります。

求めたセル参照文字列で値を取り出す

求めたセル参照文字列で値を取り出す例です。

=INDIRECT(G4)

上記の数式は、ADDRESS関数で求めたセル参照文字列を使って、該当セル($C$7)の在庫数量を「G4」セルに求めます。

ADDRESS関数で求めたセル参照文字列を、INDIRECT関数の引数に指定することで、「$C$7」の在庫数量「60」を求めることができます。

条件と一致する行番号を求めて値を取り出す

行番号を直接指定するのではなく、条件を満たす値を検索し一致した値の行番号を求めてセル参照文字列を求める方法を紹介します。

条件と一致する行番号を求める

セル参照文字列を求める
=ADDRESS(MATCH(G2,B1:B11,0),G3,,1)

  • ADDRESS関数の第一引数にMATCH関数を使います。MATCH関数でB1セル~B11セルまでの範囲をG2セルの値で検索し一致した値の行番号を求めます。
  • ADDRESS関数の第二引数には「G3セル」を指定。
  • ADDRESS関数の第三引数は省略。
  • ADDRESS関数の第四引数には「1」を指定し「A1形式」の戻り値を要求。

これで、行番号を直接指定するのではなく、キーワードで検索(例ではイチゴ)して行番号を求め、指定してある列番号(G3セル)とで求めたい値のあるセルのセル参照文字列を求めることができます。

在庫数量は、先のサンプルと同様に「INDIRECT関数」で求めています。

在庫数量を求める
=INDIRECT(G4)

なお、セル参照文字列を求める数式と在庫数量を求める数式を一つにまとめると以下のようになります。

=INDIRECT(ADDRESS(MATCH(G2,B1:B11,0),G3,,1))

ADDRESS関数と同じ分類の関数

ADDRESS関数と同じ系列の関数は以下のページで探せます。

Excel関数カテゴリの最新記事