CELF、RPA、エクセルによる業務改善記録

CELF、RPA、エクセルをより多くの方に便利に使っていただきたい!!

エクセル関数 最下行の行番号を取得する方法

エクセルやVBAで範囲や最終処理行を取得したい時、一番下の行数を取得する関数を知っていると便利です。

 

「エクセル関数 最下行の行番号を取得する方法」

 

例題:A列の一番下の文字や数値が含まれている行数を知りたい

 

1.関数サンプル

(1)数値の場合

=MATCH(10^10,A:A)

 

(2)文字列の場合

=MATCH("ー",A:A)

 

(3)数値・文字列の場合
=MATCH(1,INDEX(0/(A:A<>""),0))

 

(4)「ア」の場合

 

=MATCH("ア",A:A)

 

2.エクセル画面で確認

(1)数値の場合

f:id:miulovininy:20200408192507p:plain

最下行の数値

(2)文字列の場合

f:id:miulovininy:20200408192550p:plain

最下行の文字列

(3)数値・文字列の場合

f:id:miulovininy:20200408192643p:plain

最下行の数値・文字列

(4)「ア」の場合

 

f:id:miulovininy:20200408192717p:plain

最下行のア

3.応用

(1)特定の範囲に挟まれた数値を合計
 
INDIRECT関数の使い方の練習になってしまうかもしれません。
特定の範囲に挟まれた数値を合計する数式となります。

f:id:miulovininy:20200408193945p:plain

特定の範囲に挟まれた数値の合計

(2)解説

 

A列に集計の範囲の開始文字「ア」を入力し、行数を取得します。

=MATCH("ア",A:A)

同様に、A列に範囲の終了文字「イ」を入力し、行数を取得します。
=MATCH("イ",A:A)
最後に、SUM関数及びINDIRECT関数を使って、範囲の合計を取得する数式を組みます。
=SUM(INDIRECT("R"&C1&"C"&1,FALSE):INDIRECT("R"&C2&"C"&1,FALSE))
 

4.補足

VBAで一番下の行数を取得する場合は、以下の構文となります。

 

MaxRow = Range("A1").End(xlDown).Row
 
ちなみに、一番右の列数を取得する場合は、以下の構文となります。
 
MaxCol = Range("A1").End(xlToRight).Column