Excel一覧 Excel関数 セル位置・アドレス取得系

【Excel】セル位置を取得して文字列として表示する方法|関数で座標を可視化する完全ガイド

Excelで作業していると、「このデータはどのセルに入っているのか?」を確認したい場面は意外と多くあります。
たとえば、他の人から送られてきた表で「特定の値がどの位置にあるのかを確認したい」場合や、参照セルを文字列として記録しておきたいケースなどです。

実はExcelには、セル位置(行番号・列番号)を数値として取得する関数や、“A1”形式などの文字列として取得する関数が用意されています。
この記事では、「セルの位置情報を文字列で取得して表示する方法」を中心に、基本から実務応用までをわかりやすく解説します。

✅ Excelで「セル位置」を扱うとは?|数値と文字列の違いを理解する

まず整理しておきたいのが、「セル位置を取得する」といっても2種類の考え方があるということです。

  1. 数値で取得する方法
    行番号 → ROW関数
    列番号 → COLUMN関数
  2. 文字列で取得する方法
    「A1」などの形式で表す → ADDRESS関数

前者は位置を計算したいときに、後者は場所を「見て分かる形」で表したいときに使います。
今回の記事では、特に後者の「文字列として位置を取得する」方法に重点を置きます。


✅ セルの位置を取得する基本関数

・行番号を取得する「ROW関数」

現在のセル、または指定したセルの行番号を取得します。

=ROW(A5)

結果は「5」と表示されます。
シート上の位置を数値で知りたいときに便利です。

活用例:

  • 行番号を自動的に取得して連番を作る
  • 表の途中で新しいデータを挿入しても、番号が自動更新される

・列番号を取得する「COLUMN関数」

同様に、列番号を取得したいときは次のようにします。

=COLUMN(D2)

結果は「4」と表示されます。
「A列=1」「B列=2」というルールで変換されます。


・セル位置を文字列で取得する「ADDRESS関数」

ここが本題です。
「A1」「B5」のように、行番号+列文字で構成されたセル位置を取得するには ADDRESS関数 を使います。

=ADDRESS(行番号, 列番号)

たとえば:

=ADDRESS(3,2)

結果 → "B3"

このように、文字列としてセルの位置を返してくれるのがADDRESS関数です。


✅ ADDRESS関数の仕組みを理解しよう

ADDRESS関数には、実は第3〜第5引数まで指定できます。

=ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])
引数名内容
row_num行番号3
column_num列番号2
abs_num絶対参照の種類(省略可)1=$A$1, 4=A1
a1参照形式(TRUE=A1形式 / FALSE=R1C1形式)TRUE
sheet_textシート名を付ける"Sheet1"

・A1形式で返す

=ADDRESS(4,3,4,TRUE)

"C4"


・R1C1形式で返す

=ADDRESS(4,3,4,FALSE)

"R4C3"

R1C1形式はプログラム的な位置指定に使われますが、日常業務ではA1形式が一般的です。

参考:【VBA】R1C1形式を使用した絶対参照の方法


・シート名を含めて返す

=ADDRESS(4,3,4,TRUE,"売上表")

'売上表'!C4

シートをまたぐ参照位置を明確にしたいときに便利です。




✅ 実務で使えるセル位置取得の組み合わせテクニック

・MATCH関数と組み合わせて「文字を検索して位置を取得」

特定の文字列が表内のどこにあるかを検索したい場合、MATCH関数と組み合わせると強力です。

=ADDRESS(MATCH("田中",A2:A20,0)+1,1)

この式では、「A列の2〜20行に“田中”がある場合、そのセルの位置を文字列で返す」ことができます。

結果例 → "A5"

※ +1 は範囲開始行が2行目だから。
検索範囲によって調整が必要です。
参考:【Excel】範囲から値を検索して隣のセルの値を取得する方法|VLOOKUP・INDEX・MATCHの使い分けガイド


・動的に位置を取得してリンクを作成

たとえば、検索結果セルへのジャンプリンクを自動で生成することも可能です。

=HYPERLINK("#"&ADDRESS(MATCH("東京",A2:A100,0)+1,1),"東京のデータへ")

これでクリックすると「東京」が入力されたセルへ一瞬で移動できます。

参考:【Excel】URLがリンクにならない原因と解決法|自動変換・手動設定・応用まで徹底解説


・INDIRECT関数で「文字列の位置」を参照に変換

ADDRESS関数で取得した文字列を、再びセル参照として扱いたいときはINDIRECT関数を使います。

=INDIRECT(ADDRESS(3,2))

結果は =B3 の値を返します。
つまり「文字列としての位置」と「実際のセル参照」を相互変換できるということです。


✅ 位置情報を使ってデータを抽出・分析する

セル位置を取得できると、データ抽出の自動化にも応用できます。

・指定文字があるセルの隣の値を取得

=OFFSET(INDIRECT(ADDRESS(MATCH("田中",A2:A20,0)+1,1)),0,1)

A列で「田中」を見つけ、その右隣(B列)の値を取得することができます。
人事リスト・商品一覧など、特定の項目に対応するデータを抽出する際に便利です。


・範囲内の最大値の位置を取得

=ADDRESS(MATCH(MAX(B2:B20),B2:B20,0)+1,2)

「B列で最大値が入力されたセルの位置」を文字列で取得します。
レポート作成時に「最大売上のセル位置を表示」するなど、ハイライトに使うことも可能です。


✅ セル位置の文字列取得でよくある質問(FAQ)

Q1. 「A1」ではなく「$A$1」と表示されるのはなぜ?

ADDRESS関数は既定で絶対参照形式($付き)を返します。
第3引数に「4」を指定することで相対参照にできます。

=ADDRESS(3,2,4)
→ "B3"

Q2. 取得した文字列を数式で直接使いたいときは?

INDIRECT関数を併用してください。
INDIRECT("B3") のように、文字列を実際のセル参照として評価できます。


Q3. シート間をまたいで位置を取得できますか?

→ 可能です。
ADDRESS関数の第5引数でシート名を指定します。

=ADDRESS(5,2,4,TRUE,"商品リスト")
→ '商品リスト'!B5

✅ データ管理・分析に役立つ応用アイデア

セル位置を文字列で取得できると、Excelの自動処理がぐっと広がります。

  • 検索結果の位置を記録してログとして残す
  • データ更新時に「どのセルが変更されたか」を検出する
  • リンク付きのナビゲーション一覧を自動生成する
  • IF関数やINDEX関数と組み合わせて動的参照を作る

特に「セルを探して隣の情報を取る」処理は、営業・在庫・人事などあらゆる分野で応用できます。


✅ RPAや自動処理にもつながる発想

Excelのセル位置取得は、単なる関数テクニックにとどまりません。
UiPathやPower AutomateのようなRPAツールを使う場合も、「セルの座標を特定して操作する」仕組みが重要になります。

  • 「指定の文字を検索 → セル位置を取得 → 値を読み取る」
  • 「特定セルの右隣に自動入力する」
  • 「変更のあったセル位置をレポート化する」

こうした処理は、Excel関数での理解がそのままRPA設計にも活かせます。
参考:【ChatGPT】Power Automate Desktopを組み合わせた業務効率化事例


✅ まとめ:Excelでセル位置を文字列で取得して可視化しよう

  • 行番号は ROW、列番号は COLUMN
  • 位置を文字列で表すなら ADDRESS関数
  • 相対・絶対参照、シート指定も柔軟に設定できる
  • MATCHINDIRECTを組み合わせると動的検索が可能
  • 位置情報を使えば、抽出・リンク・自動参照など応用範囲が広い
  • RPA連携にも役立つ基礎技術

セル位置を「見える化」できるようになると、Excelの操作がより論理的になり、データ構造を把握するスピードも上がります。
日常業務で「あの値がどこにあるか」を探す時間が多い方は、ぜひ今回紹介した方法で“セル位置の取得”を習慣化してみてください。

    -Excel一覧, Excel関数, セル位置・アドレス取得系