ROW関数は、セルの行番号を返す関数です。A5 なら 5、式を入れたセル自身なら、その行の番号になります。一番よく使うのは、行を削除しても崩れない連番を作るときです。
この記事では、ROW 関数の使い方を、範囲を指定したときの結果、連番の作り方、行を削除したときの違い、タイトル行があると番号がずれる間違いまで、実際の Excel の画面で説明します。練習用のファイルも無料でダウンロードできます。
ROW関数の書き方(構文)
=ROW(参照)
| 引数 | 意味 |
|---|---|
| 参照(省略できる) | 行番号を知りたいセルや範囲。省略すると、式を入れたセルの行番号 |
基本の使い方:行番号を調べる
試したところ、B2 に =ROW() と入れると 2(B2 は2行目)、=ROW(C10) は 10 になりました。範囲を指定した =ROW(B3:D7) は、Microsoft 365 では 3・4・5・6・7 が縦に広がりました(スピル)。範囲の一番上の行番号だけが欲しいときは、範囲ではなく先頭のセル(B3)を指定します。

ROW関数で連番を作る
見出しが1行目にある表で、A2 に次の式を入れて下にコピーすると、1・2・3…の連番になります。A2 は2行目なので ROW() は 2、見出しの1行分を引いて 1 です。
=ROW()-1

まず動かしてみよう|この記事のサンプルをその場で試せます
ブラウザの上で ROW 関数を試せます。A2:A4 の式は =ROW()-1 で、上の連番の例と同じ表です。
行を削除しても番号が崩れない
手で入力した番号と ROW の番号を並べて、3つ目の行(ぶどう)を行ごと削除しました。試したところ、手入力の番号は 1・2・4・5 と飛びましたが、ROW の番号は 1・2・3・4 と自動で詰まりました(行の挿入・削除)。

よくある間違い:タイトル行があると2から始まる

見出しの上にタイトルの行があると、表は3行目から始まるので、=ROW()-1 では 2 から始まります。試したところ、表の上に行を1行挿入したときも、同じように 2 からになりました。見出しのセルの行番号を引く式にすると、上に行が増えても 1 から始まります。
=ROW()-ROW($A$2)
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 番号が 2 から始まる | 表の上にタイトル行がある・行を挿入した | ROW()-ROW($A$2) のように見出しの行番号を引く。 |
| 範囲を指定したら数字がいくつも出た | ROW(B3:D7) は範囲の行番号をすべて返す(スピル) | 一番上の行だけなら ROW(B3) にする。 |
| 広がる先が埋まっていて #スピル! になる | 範囲を指定した ROW の結果が広がれない | 下のセルを空ける。 |
| 手で入れた番号が飛ぶ | 行を削除した | 番号を ROW の式にする。 |
よくある質問
ROW と ROWS の違いは?
ROW は「何行目か」(行番号)、ROWS は「何行あるか」(行の数)を返します。試したところ、=ROWS(B3:D7) は 5 でした(ROWS関数の使い方)。
1行おきに色を付けるには?
条件付き書式で =MOD(ROW(),2)=0 のように、行番号を2で割った余りで判定します。試したところ、1行目では =MOD(ROW(),2) が 1 になりました(1行おきに色を付ける方法)。
式1つで連番を作れますか?
Microsoft 365・Excel 2021 以降なら SEQUENCE 関数で作れます。試したところ、=SEQUENCE(5) で 1〜5 が縦に広がりました。オートフィルや0埋めの連番は連番を振る方法にまとめています。
