- 公開日:
- 更新日:
Excelで最終行を取得する関数
縦に長い表を作成した際に、最終行の行番号を調べたり、最終行の値を取得したりする必要が出てくる場合があります。
この記事では、Excelで最終行を取得する関数をご紹介します。
最終行を取得できるようになると、自分が作成している表が何行あるのかが瞬時に分かったり、合計の値を取得して見やすい位置に表示させたりすることが出来るため、いちいち最終行まで画面をスクロールする必要がなくなります。
最終行の行番号を取得する
データが入力された最終行の「行番号」を取得するためには、COUNTA関数を使います。ただし、COUNTA関数はセル範囲に含まれる空白ではないセルの個数を返す関数です。

今回は、A列に数値や文字列などのデータが入ったシートを使用して、A列でデータが入力された最終行の行番号を取得する方法をご紹介します。

COUNTA関数の書式は、「=COUNTA(値1,値2,…)」です。任意のセル(例:C2セル)を選択し、「=COUNTA(A:A)」と入力し、Enterを押します。

今回は「E」が入力された6行目が最終行なので、行番号として「6」と表示されました。試しにA列にデータを追加してみます。A7セルを選択して、「3」と入力し、Enterを押します。

データを追加したことでA列の最終行が7行目になったため、C2セルの結果も「7」に更新されました。これで、COUNTA関数を使って最終行の行番号を取得することが出来ました。
空白がある行で最終行の行番号を取得する
対象の範囲から最大値を抽出する「MAX関数」と指定したセルの行番号を求める「ROW関数」を組み合わせて、データに空白行がある場合に最終行の行番号を取得する方法をご紹介します。
MAX関数の書式は「=MAX(数値1,数値2,…)」です。引数や使い方については、以下の記事をご参照ください。
ROW関数の書式は「=ROW(参照)」です。引数や使い方、応用については、以下の記事をご参照ください。

今回は上の画像のシートを使って、空白行を含んでいるA列からデータが入力された最後の行の行番号を取得します。

任意のセル(例:C2セル)を選択し、「=MAX((A:A<>"")*ROW(A:A))」と入力し、Enterを押します。
「=MAX((A:A<>"")*ROW(A:A))」で、「A列の"データが入力されているセル"の中で最大の行番号」を取得することが出来ます。

これで、空白行を含む列の最終行の行番号を取得することができました。
試しにA列にデータを追加してみます。
A8セルを選択し、「3」と入力して、Enterを押します。

最終行が8行目になったので、関数で取得した行番号も「8」に変更されました。
これで、空白行を含む行の中で最終行の行番号を取得することができました。
最終行の値を取得する
指定した行と列が交差する位置にあるセルを抽出する関数である「INDEX関数」と空白でないセルの個数を求めるCOUNTA関数を組み合わせることで、最終行の値を取得することが可能です。
INDEX関数の書式は、「=INDEX(配列,行番号,列番号)」です。引数の詳細や使用例等については、以下の記事をご参照ください。
ExcelのINDEX関数の使い方|行と列が交差する位置にあるセルを返す
COUNTA関数の書式は、「=COUNTA(値1,値2,…)」」です。使い方や複数条件で検索する方法については、以下の記事をご参照ください。
ExcelのCOUNTA関数の使い方|空白ではないセルの個数を返す

今回は、上の画像のシートを使ってA列の行から最終行の値を取得します。

任意のセル(例:C2セル)を選択し、「=INDEX(A:A,COUNTA(A:A))」と入力し、Enterを押します。
「=INDEX(A:A,COUNTA(A:A))」で、「A列の"空白でない最後のセル"の値」を取得することが出来ます。

これで、空白行を含む行の中で最終行の値を取得することができました。
試しにA列にデータを追加してみます。
A8セルを選択し、「4」と入力して、Enterを押します。

8行目の「4」が最終行の値になったため、関数で取得した値も「4」に変更されました。
これで、最終行の値を取得することができました。
空白がある行で最終行の値を取得する
空白がある行で最終行の値を取得するためには、INDEX関数とMAX関数とROW関数を組み合わせます。

今回は、上の画像のシートを使ってA列の行から最終行の値を取得します。
A列は2行目、3行目、6行目が空白になっています。

任意のセル(例:C2セル)を選択し、「=INDEX(A:A,MAX((A:A<>"")*ROW(A:A)))」と入力し、Enterを押します。
「=INDEX(A:A,MAX((A:A<>"")*ROW(A:A)))」で、「A列の"何か入力されているセル"の中で一番大きい行番号の値」を取得することが出来ます。

これで、空白行を含む行の中で最終行の値を取得することができました。
試しにA列にデータを追加してみます。
A10セルを選択し、「3」と入力して、Enterを押します。

10行目の「3」が最終行の値になったため、関数で取得した値も「3」に変更されました。
これで、空白を含む行の最終行の値を取得することができました。