指定した条件に一致するセルのアドレスを取得するには? ADDRESSとINDEXを活用した検索の方法 | EXCELトピックス

スポンサーリンク
スポンサーリンク

指定した条件に一致するセルのアドレスを取得するには?

Excelでデータを検索し、そのセルのアドレス(位置)を取得したい場合、手作業で探すのは手間がかかります。ADDRESS関数とINDEX関数を組み合わせることで、条件に一致するセルのアドレスを簡単に取得できます。

本記事では、ADDRESSINDEXを活用した検索方法について詳しく解説します。

ADDRESS関数とは?

ADDRESS関数は、指定した行番号と列番号に基づいてセルのアドレスを返す関数です。

基本構文

=ADDRESS(行番号, 列番号, [参照形式], [A1/R1C1], [シート名])

第3引数に 1 を指定すると、絶対参照($A$1 形式)でセルアドレスを取得できます。

INDEX関数とは?

INDEX関数は、指定した範囲の中から特定の行・列にあるデータを取得する関数です。

基本構文

=INDEX(範囲, 行番号, [列番号])

この関数を使うことで、特定の条件に一致するデータの行・列番号を取得し、それをADDRESSと組み合わせることが可能です。

条件に一致するセルのアドレスを取得する方法

例えば、以下のようなデータがあるとします。

A B C
1 ID 商品名 価格
2 101 りんご 150
3 102 バナナ 200
4 103 ぶどう 250
5 =ADDRESS(MATCH(“バナナ”, B2:B4, 0)+1, 2, 1)

数式の解説

セルA5に以下の数式を入力します。

=ADDRESS(MATCH("バナナ", B2:B4, 0)+1, 2, 1)

この数式の動作:

  • MATCH(“バナナ”, B2:B4, 0) → “バナナ” が B3 にあるため、結果は 2
  • +1 → 実際の行番号は 2+1 = 3(A1からの相対位置を修正)
  • ADDRESS(3,2,1) → “$B$3” を返す

計算結果

  • “バナナ” があるセルのアドレス:$B$3

INDEXを使った別の方法

INDEX関数を使ってセルのアドレスを取得する方法もあります。

Excelでの計算例

A B C
1 ID 商品名 価格
2 101 りんご 150
3 102 バナナ 200
4 103 ぶどう 250
5 =ADDRESS(ROW(INDEX(B2:B4, MATCH(“バナナ”, B2:B4, 0))), COLUMN(INDEX(B2:B4, MATCH(“バナナ”, B2:B4, 0))), 1)

数式の解説

=ADDRESS(ROW(INDEX(B2:B4, MATCH("バナナ", B2:B4, 0))), COLUMN(INDEX(B2:B4, MATCH("バナナ", B2:B4, 0))), 1)
  • MATCH("バナナ", B2:B4, 0) → “バナナ” の位置(2番目)を取得
  • INDEX(B2:B4, 2) → “バナナ” のセルの値を取得
  • ROW(INDEX(B2:B4, 2)) → “バナナ” の行番号(3)を取得
  • COLUMN(INDEX(B2:B4, 2)) → “バナナ” の列番号(2)を取得
  • ADDRESS(3,2,1) → “$B$3” を返す

計算結果

  • “バナナ” のセルアドレス:$B$3

まとめ

Excelで特定の条件に一致するセルのアドレスを取得するには、ADDRESSINDEXを組み合わせるのが便利です。

  • ADDRESS:行番号と列番号からセルアドレスを取得
  • MATCH:指定したデータの行番号を検索
  • INDEX:特定のセルの位置を取得

この方法を活用すれば、データ検索やレポート作成の効率が向上します。

使用した関数について

ADDRESS関数でセル番号を文字として取得する方法や参照の種類や形式についてわかりやすく解説
ADDRESS関数についてADDRESSの概要セル参照を文字列で取得Excel関数=ADDRESS(行番号, 列番号, , , )概要 ADDRESS関数は、指定した行番号と列番号に基づいてセルの参照を文字列として返します。 参照の種類には絶対参照、相対参照、混合参照を指定できます。 参照形式にはA1形式とR1C1形式...
INDEX関数で範囲内の指定したデータを取り出す方法についてわかりやすく解説
INDEX関数についてINDEXの概要範囲内の指定位置にあるデータを取得Excel関数=INDEX( 範囲 , 行位置 , 列位置 )範囲内左上からの位置のデータを表示する 位置は省略することも(1となる)できるが、わかりにくくなるため設定しておくことが望ましい 位置は行、列の順。XYではなくYXの順になっていることに...
MATCH関数で値に一致する行位置を求める方法をわかりやすく解説
MATCH関数についてMATCHの概要値に一致する行位置を取得Excel関数=MATCH( 検索値 , 検索範囲(縦方向) , 0 )値に一致する行位置を求める 値に一致する列番号を求めるMATCH関数MATCHはどのような時に使用するか ...