概要
「このセルの“参照名(A1、B2 など)”を文字列として取得したい」
「動的にセル番地を文章に含めたい」
「どのセルを参照しているかを自動で表示したい」
こういうときに使えるのが CELL 関数です。
CELL 関数は、セルの情報(アドレス、ファイル名、書式など)を取得できる関数で、
その中でも “address” を指定すると、
セル参照名($A$1 のような絶対参照)を文字列として返すことができます。
ここでは、初心者向けに「セル参照名を文字列化する」ための CELL 関数の使い方を、
テンプレートと例題つきで丁寧に解説します。
CELL 関数の基本
書式
=CELL("address", 参照セル)
"address"
→ セルのアドレス(絶対参照)を文字列で返す- 参照セル
→ アドレスを取得したいセル
例:
=CELL("address", A2)
結果:
$A$2
このように、セル番地を文字列として取得できます。
基本パターン:セル参照名をそのまま文字列として取得
例:A2 のセル参照名を B2 に表示
B2 に次の式を書きます。
=CELL("address", A2)
結果は
$A$2
となり、A2 のセル参照名が文字列として取得できます。
応用1:セル参照名を文章に含める
例:「このセルは $A を参照しています。」と表示したい
B2 に次の式を書きます。
="このセルは " & CELL("address", A2) & " を参照しています。"
結果:
このセルは $A$2 を参照しています。
数式の説明文やコメント文の自動生成に便利です。
応用2:動的に「今のセルの番地」を取得する
CELL 関数は、参照セルを省略すると“数式が入力されているセル自身”のアドレスを返すという特徴があります。
例:B2 に「$B」と表示したい
B2 に次の式を書きます。
=CELL("address")
結果:
$B$2
これは「この式が入っているセルのアドレス」を返しています。
応用3:INDIRECT と組み合わせて“セル参照を動的に扱う”
CELL(“address”) は絶対参照($A$1 形式)を返すため、
INDIRECT と組み合わせると「文字列として取得したセル番地を参照する」ことができます。
例:A2 のアドレスを文字列で取得し、そのセルの値を参照する
B2 に次の式を書きます。
=INDIRECT(CELL("address", A2))
これは A2 の値を返します。
- CELL(“address”, A2) → “$A$2”
- INDIRECT(“$A$2”) → A2 の値
「セル番地を文字列で扱う」テクニックの基本です。
応用4:選択セルのアドレスを表示する(動的更新)
CELL(“address”) は「最後に変更されたセル」を返す性質があります。
例:どのセルを選択したかを表示する
A1 に次の式を書きます。
=CELL("address")
セルをクリックするたびに、A1 の表示が変わります。
- B5 をクリック → “$B$5”
- C10 をクリック → “$C$10”
「現在の選択セルを表示するモニター」として使えます。
応用5:セル参照名を加工して“行番号・列番号”を抽出
CELL(“address”) は「$A$2」のような文字列を返すため、
MID や SUBSTITUTE と組み合わせると、行番号や列番号を取り出すこともできます。
例:A2 の行番号だけを取得
=ROW(A2)
でも取得できますが、CELL を使うなら:
=VALUE(MID(CELL("address",A2),4,10))
- “$A$2” の 4文字目以降 → “2”
- VALUE で数値化 → 2
※実務では ROW の方が簡単ですが、CELL を使った応用例として紹介します。
セル参照名を文字列化する“型”まとめ
セル参照名を取得
=CELL("address", A2)
自分自身のセル番地を取得
=CELL("address")
文章に含める
="参照セルは " & CELL("address", A2)
文字列化したセル番地を参照
=INDIRECT(CELL("address", A2))
選択セルのアドレスを表示
=CELL("address")
例題
問題1
A2 のセル参照名($A$2)を B2 に表示したいです。
CELL を使った式を書いてください。
=CELL("address",A2)
問題2
B2 に「このセルは $A$2 を参照しています。」と表示したいです。
CELL と文字列結合を使った式を書いてください。
="このセルは " & CELL("address",A2) & " を参照しています。"
問題3
B2 に「$B$2」と表示したいです(B2 自身のアドレス)。
CELL の参照省略を使った式を書いてください。
=CELL("address")
問題4
A2 のアドレスを文字列として取得し、そのセルの値を参照したいです。
CELL と INDIRECT を使った式を書いてください。
=INDIRECT(CELL("address",A2))
問題5
A1 に「現在選択しているセルのアドレス」を表示したいです。
CELL を使った式を書いてください。
=CELL("address")
CELL(“address”) は「セル番地を文字列として扱う」ための強力なツールです。
数式の説明、動的参照、セル監視など、実務でも応用範囲が広いので、
ぜひ“セル参照名の文字列化”テクニックとして覚えておいてください。
