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

【Excel】現在のセル位置を取得する方法|ADDRESS・CELL・ROW・COLUMN関数

Excelを操作していると、次のような場面に遭遇することがあります。

  • 現在アクティブなセルの位置(列・行番号)を知りたい
  • 選択したセルの番地(例:B5)を自動的に表示したい
  • マクロや関数で「今どこにいるか」を条件にしたい

こうした場合に役立つのが、セル位置を取得する関数です。

本記事では、Excelで「現在のセルの位置」を取得・表示する方法を、
代表的な関数「ADDRESS」「CELL」「ROW」「COLUMN」などを用いて解説します。


目次

✅ Excelで「セル位置を取得する」とは?

まず、「セル位置を取得する」とは何を意味するのかを整理しましょう。

Excelでは、セルを「A1」や「C5」のように「列+行」で表します。
このセル番地を取得することを、「セル位置を取得する」といいます。

また、次のように目的に応じて取得方法を変えることができます。

目的使用関数取得内容
セル番地(例:B5)を取得したいADDRESS関数「$B$5」などの文字列形式
行番号・列番号を取得したいROW関数/COLUMN関数数値形式(例:5や2)
現在のセルの情報を取得したいCELL関数アドレスやファイル名などの情報
選択セルの内容に応じて動的に表示したいINDIRECT関数+CELL関数現在のセル参照を可変化

✅ 方法①:ADDRESS関数でセル番地(アドレス)を取得する

まず紹介するのはADDRESS関数です。
この関数は、指定した「行番号」と「列番号」からセル番地を返します。


ADDRESS関数の構文

"=ADDRESS(行番号, 列番号, [参照の種類], [シート名])"


・例1:B5のセル番地を取得

"=ADDRESS(5,2)"

→ 結果:「$B$5」

(※列番号2=B列、行番号5=5行目)


・例2:絶対参照を解除する

"=ADDRESS(5,2,4)"

→ 結果:「B5」

第3引数「4」を指定することで、相対参照になります。


・例3:シート名も含めて表示

"=ADDRESS(5,2,1,TRUE,"Sheet1")"

→ 結果:「Sheet1!$B$5」


・POINT

  • 数値から番地を生成できるため、動的な参照に便利
  • ROW関数・COLUMN関数と組み合わせて「現在位置」を自動表示できる

・例4:現在のセル位置を動的に表示

"=ADDRESS(ROW(),COLUMN())"

→ アクティブセル(式を入れたセル)の番地を自動表示


・応用例:別セルの位置を参照

"=ADDRESS(ROW(A5),COLUMN(A5))"

→ A5の番地「$A$5」を返す。


ADDRESS関数は、「現在のセルの位置を可視化したい」ときに最も直接的な方法です。


✅ 方法②:CELL関数で現在のセルの情報を取得する

次に、CELL関数を使って「現在のセルのアドレスやファイル情報」を取得する方法を見ていきましょう。


CELL関数の構文

"=CELL(情報の種類, [参照])"


・主な「情報の種類」一覧

引数内容
"address"セルのアドレスを返す(例:"$B$5")
"row"行番号を返す(例:5)
"col"列番号を返す(例:2)
"filename"ファイル名とシート名を返す
"contents"セルの内容(値)を返す

・例1:現在のセル番地を取得

"=CELL("address")"

→ 式を入力したセルの番地(例:"$C$8")を返す。


・例2:特定セルの番地を取得

"=CELL("address",A5)"

→ 「A5」というセルのアドレス「$A$5」を返す。


・例3:現在の行番号を取得

"=CELL("row")"

→ 結果:現在セルの行番号(数値)を返す。


・例4:列番号を取得

"=CELL("col")"

→ 結果:列番号(例:A列なら1、B列なら2)


・例5:ファイル名を取得

"=CELL("filename")"

→ 「ブック名.xlsx」+シート名を含むフルパスを返す。


・POINT


・応用例:シート名だけを抽出する

"=MID(CELL("filename"), FIND("]", CELL("filename"))+1, 255)"

→ 結果:現在のシート名のみを返す。
参考:【Excel】セル内の文字を検索する関数|部分一致・位置特定・抽出まで完全解説


CELL関数は、現在のセルに関する「メタ情報」を扱える万能関数です。
「アドレス+ファイル情報+位置情報」を一括で取得できるため、
業務報告書や集計テンプレートなどに組み込むと非常に便利です。


✅ 方法③:ROW関数・COLUMN関数で行・列番号を取得する

もし、現在のセルの行番号や列番号だけを知りたい場合は、
ROW関数COLUMN関数を使うのがシンプルです。


ROW関数COLUMN関数の構文

"=ROW([参照])"
"=COLUMN([参照])"


・例1:現在の行番号を取得

"=ROW()"

→ 結果:式を入れたセルの行番号


・例2:現在の列番号を取得

"=COLUMN()"

→ 結果:列番号(A列=1、B列=2、C列=3)


・例3:別セルの行番号を取得

"=ROW(A10)"

→ 結果:10


・例4:他の関数と組み合わせる

"=ADDRESS(ROW(),COLUMN())"

→ 現在のセル番地(例:"$B$7")を動的に返す。


・例5:データ範囲内で動的処理

"=INDEX(A1:A100, ROW()-1)"

→ 「1行目」を基準に、行数に応じて値を動的に取得。


・POINT


✅ 方法④:現在のセルの位置を動的に表示する応用例

ここでは、上記の関数を組み合わせて「現在のセル位置を自動表示」する実用例を紹介します。


・例1:現在セルの位置をラベル表示

"=SUBSTITUTE(ADDRESS(ROW(),COLUMN()),"$","")"

→ 結果:「B5」などの番地を返す。

SUBSTITUTE関数で「$」を削除して、見やすく表示。


・例2:指定セルの位置を別セルに表示

"=ADDRESS(ROW(A10),COLUMN(A10))"

→ 結果:「$A$10」


・例3:セル選択に応じて動的に更新

マウスで選択するたびに動的に更新するには、
VBAマクロ+CELL関数を組み合わせる方法が有効です。

たとえば、次のようなマクロを「ワークシートモジュール」に記述します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Range("D1").Value = Target.Address
End Sub

→ セルを選択するたびに、D1セルに「$B$5」などの現在位置が表示されます。


・例4:行と列の両方を表示する

"="行:"&ROW()&" 列:"&COLUMN()"

→ 結果:「行:5 列:2」などの形式で表示。


これらのテクニックを使うことで、
「現在どこを編集しているか」を視覚的に把握しやすくなります。




✅ 方法⑤:INDIRECT関数で位置に基づいたセル参照を動的生成

INDIRECT関数を使うと、ADDRESSなどで求めた「セル位置」を実際の参照として扱えます。


INDIRECT関数の構文

"=INDIRECT(文字列)"


・例1:セル位置を指定して値を取得

"=INDIRECT("B"&ROW())"

→ 現在の行のB列の値を取得。


・例2:ADDRESS関数と組み合わせ

"=INDIRECT(ADDRESS(ROW(),COLUMN()-1))"

→ 現在セルの左隣の値を取得。


・POINT

  • ADDRESSで位置を文字列として取得
  • INDIRECTでその位置を参照化
  • 動的参照を実現できるため、自動更新シートに最適

✅ 実務での応用:セル位置を活用した自動化アイデア

シナリオ使用関数効果
入力セルの位置を自動記録CELL("address")編集履歴・位置管理に
現在行の情報を別列に反映ROW/COLUMN入力行番号に応じた動作
データ更新時にシート名+セルを表示CELL+MID+FINDログ管理
左隣・右隣セルを自動参照INDIRECT+ADDRESS柔軟な参照制御
マクロと組み合わせて「選択セル表示」VBA+CELL見える化・支援ツール化

✅ まとめ:現在のセル位置を取得してExcel操作をもっと効率的に

Excelで「現在のセル位置」を取得する方法はいくつもありますが、
目的に応じて最適な関数を選ぶことが大切です。

  • ADDRESS関数:行・列から番地を作る
  • CELL関数:アドレスやファイル名などの情報を取得
  • ROW/COLUMN関数:行・列番号を数値で取得
  • INDIRECT関数:セル番地を動的に参照
  • VBA連携:選択セル位置を自動更新

これらを組み合わせれば、
現在の位置を基準に自動的に動作する「スマートなExcelシート」を構築できます。

特にテンプレート管理やデータ抽出シートなどで、
「どのセルが入力対象か」を明示する仕組みを作っておくと、
入力ミス防止や作業効率の向上に大きく貢献します。

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