GoogleスプレッドシートやExcelで行番号を取得できる、ROW関数の使い方をご紹介します。最終行の行番号を取得する方法や、行番号を自動入力する方法についても解説しているので、ぜひ参考にしてみてください。
ROW関数で行番号を取得する方法
ROW関数の使い方や、値が入力されている最終行を取得する方法をご紹介します。最終行の行番号を取得すれば、最終行に入力されている値も簡単に抽出可能です。
ROW関数の使い方
ROW関数は、指定した「セル参照」の行番号を返します。
セルを縦方向の範囲として指定した場合、先頭行の番号を返します。なお、セル参照は省略可能です。省略すると、ROW関数が入力されているセルの行番号を返します。
ROW関数の構成要素:([セル参照])
最終行の行番号を取得する方法
列に空欄なくデータが入力されている場合は、COUNTA関数で最終行の取得が可能です。
指定した範囲内に含まれる、空白を除くすべてのデータの個数を返します。仮に1行目が空白の場合、COUNTA関数に +1 をすることで対応可能です。
COUNTA関数の構成要素:(範囲1, [範囲2, …])
空白を含む最終行の行番号を取得する方法
空白を含む列の最終行を取得する数式は MAX(ArrayFormula(IF(A:A=””,””,ROW(A:A)))) です。難しそうに見えて実は簡単な内容ですので、解説もチェックしてみてください。
- IF関数のFALSE値(A列が空白でない)に、ROW関数を指定します。
- A列が空白でない場合のみ、ROW関数がA列の行数を返します。
- MAX関数はROW関数からすべての行数を受け取り、その中から最大の行数を出力します。
Excelの場合:MAX(IF(A:A=””,””,ROW(A:A)))を入力して数式内で[Ctrl]+[Shift]+[Enter]
まずIF(A:A=””,””,ROW(A:A))は、論理式(A列が空白)が成立するならTRUE値(空白)、不成立ならFALSE値(ROW(A:A))を返します。
ArrayFormula関数は、非配列関数で配列を使用したいときに使用する関数です。
IF関数を入力したあとに[Ctrl]+[Shift]+[Enter]を押すと、数式の先頭に追加されます。
IF関数の構成要素:(論理式, TRUE値, FALSE値)
次にMAX関数はROW関数が取得した行番号の中から、最大の数値を返します。
ROW関数が取得するのは「データが入力されているセルの行番号」なので、数値が最も大きいのはデータが入力されている一番下の行です。
MAX関数の構成要素:(範囲1, [範囲2, …])
最終行に入力されている値を取得する方法
INDEX関数の「行」に、ROW関数で取得した最終行の行番号を指定してください。
INDEX関数は参照範囲と指定した行がクロスするセルから値を返します。そのため参照範囲にA列を、行に最終行を指定すれば、最終行の値を取得可能です。
INDEX関数の構成要素:(参照, [行], [列])
シート内の最終行の行番号を取得する方法
シートの最終行を取得するには、ROW関数の「セル参照」に列全体を指定してください。
ROW関数にArrayFormula関数を追加して配列数式にすると、データが入力されているかどうかに関わらず、すべてのセルの行番号を取得できます。
MAX関数の「範囲」にROW関数の結果を指定します。
MAX関数はすべての行番号から最も大きい値を返すので、シートの最終行が取得可能です。これを1つの数式にまとめると MAX(ArrayFormula(ROW(A:A))) になります。
ROW関数で行番号を自動入力する方法
行番号を入力したいセルに、ROW関数を入力します。今回はROW関数が入力されているセルの行番号を取得したいので、括弧内には何も入力しません。
関数を入力したセルを[Ctrl]+[C]でコピーし、[Ctrl]+[V]で下の行まで貼り付けます。
2行目から行番号を自動入力したい場合、ROW関数に -1 を追加します。
するとROW関数が取得した行番号から 1 を差し引いた行番号を出力するので、2行目以降に 1 から始まる番号を入力可能です。
中間の行を削除しても、連番が崩れることはありません。