
Excelでリストを扱っているときに「A列の最後に入力されているセルを知りたい」というシーンはよくあります。
例えば、売上データの末尾や名簿の最終行を自動で拾いたいときです。

ここで使えるのが ADDRESS関数 と ROW関数 を組み合わせた裏ワザです。
構文:
=ADDRESS(MAX(ROW(A:A)*(A:A<>"")),1)

数式の仕組み:
・ ROW(A:A)
→ A列のすべての行番号を返します(1,2,3,…の配列)。
・ (A:A<>””)
→ A列のセルが空でなければ TRUE(=1)、空なら FALSE(=0)を返します。
・ ROW(A:A) * (A:A<>””)
→ データがある行だけが「行番号」、空白は「0」になる配列ができます。
例)A1:A5 が「りんご, バナナ, (空白), みかん, ぶどう」の場合
→ {1;2;0;4;5}
・ MAX(…)
→ データがある行番号の最大値(最終行)を返します。
・ ADDRESS(行番号, 列番号)
→ その位置のセル番地を「文字列」として返します。列番号1はA列を意味します。






コメントを残す