Excel関数 逆引き集 | 連番を振る → ROW

Excel
スポンサーリンク

概要

ROW 関数は、「セルが何行目にあるか(行番号)」を返す関数です。
これだけ聞くと地味ですが、工夫して使うと「連番を自動で振る」用途でめちゃくちゃ役に立ちます。

行を追加・削除しても番号が自動調整される“賢い連番”を作るときの、基本パーツだと思ってください。


ROW 関数の基本

書式と意味

=ROW([範囲])
  • 範囲(省略可):行番号を知りたいセルやセル範囲の参照

動きはシンプルです。

  • 引数なし:式が入っているセルの行番号を返す
    • 例:セル A5 で =ROW() → 結果は 5
  • セル参照を指定:そのセルの行番号を返す
    • 例:=ROW(C10) → 結果は 10
  • 範囲を指定:その範囲の「一番上の行番号」を返す
    • 例:=ROW(F5:F10) → 結果は 5

連番を振るための基本テクニック

ROW は「行番号」を返すので、“今の行番号”からいくつか引き算するだけで、きれいな連番が作れます。

1 行目から連番を始める

A2 から 1,2,3,4,… と振りたいケースを考えます。

セル A2 に次の式を入れて、下にコピーします。

=ROW()-1
  • A2 は 2 行目 → ROW() は 2 → 2-1=1
  • A3 は 3 行目 → 3-1=2
  • A4 は 4 行目 → 4-1=3

という感じで、自動的に「1,2,3,…」と増えていきます。

「なんで -1 なの?」というと、
「始まりの行番号(2)から、“欲しい開始値(1)”との差分 1 を引いている」からです。

途中の行から連番を始める

例えば、A5 から 1,2,3,… と振りたい場合。

A5 に次の式を入れて、下にコピーします。

=ROW()-4
  • A5 は 5 行目 → 5-4=1
  • A6 は 6 行目 → 6-4=2
  • A7 は 7 行目 → 7-4=3

と増えます。

「自分が連番を開始したい行番号 − 1」を引く、と覚えておくと応用が効きます。


開始番号を自由に変える応用

好きな番号からスタートする

例えば、A2 から 101,102,103,… と振りたい場合。

A2 に次の式を入れます。

=ROW()-1+100

考え方はこうです。

  • ROW()-1 で「1,2,3,…」を作る
  • そこに 100 を足して、「101,102,103,…」にずらす

A2:ROW() は 2 → 2-1+100 = 101
A3:3-1+100 = 102
という具合です。

テーブルの中で「1 から振り直す」

たとえば、見出し行が 1 行目にあって、データが 2 行目から始まる表。
どの行からコピーしても「データの 1 行目は常に 1」にしたい場合は、
表の「最初のデータ行」を基準に考えます。

A2 に次の式:

=ROW()-ROW($A$2)+1
  • A2:ROW() は 2、ROW($A$2) も 2 → 2-2+1=1
  • A3:3-2+1=2
  • A4:4-2+1=3

こうしておけば、「挿入して行が下にずれても、常に“表の中での行番号”が 1 から振り直される」連番になります。


連番に ROW を使うメリット

行の挿入・削除に強い

オートフィルで作った固定値の連番は、途中で行を挿入・削除すると「番号がずれる・ダブる」ことがあります。

一方、ROW を使った連番は、「今そのセルが何行目か」から計算しているので、行を増減しても自動的に番号が再計算されます。

  • 行を 1 行挿入 → それ以降の ROW の値が 1 つずつ増え、連番を保つ
  • 行を削除 → 上に詰まり、ROW の結果もそれに合わせて変わる

構造が変わる表では、ROW ベースの連番のほうが“手がかからない”のが強みです。


コード例・テンプレート

一番シンプルな「1 からの連番」

A2 から下方向に連番を振る:

=ROW()-1

開始行が A5 の場合:

=ROW()-4

(「開始行の行番号 − 1」を引く)

任意の開始番号からの連番

A2 から 101,102,103,… としたい:

=ROW()-1+100

A5 から 50,51,52,… としたい:

=ROW()-4+50

ROW()-開始行番号+開始番号 のイメージ)

表の「1 行目」からの連番(基準セルを指定)

見出し行:1 行目
データ開始行:2 行目(A2)

=ROW()-ROW($A$2)+1

見出しが 3 行目で、データが 4 行目からなら:

=ROW()-ROW($A$4)+1

「ROW(自分) − ROW(表の 1 行目) + 1」というパターンで覚えると楽です。


例題

問題1

A2 から下方向に「1,2,3,…」という連番を振りたいとします。
A2 に入れる ROW 関数の式を書いてください。
(ヒント:A2 は 2 行目なので、ROW() から 1 引く形です)

問題2

連番の開始位置が A5 で、そこから「1,2,3,…」と振りたいとします。
A5 に入れるべき式を書いてください。
(ヒント:A5 は 5 行目なので、5−1=4 を引きます)

問題3

A2 から下に向かって「101,102,103,…」と連番を振りたいとします。
A2 に入れるべき式を書いてください。
(ヒント:ROW()-1 で「1,2,3,…」を作り、それを 100 だけずらします)

問題4

見出しが 1 行目、データが 2 行目(A2)から始まる表があります。
表の 1 行目を常に「1」として、A 列に連番を振りたいとき、A2 に入れるべき式を書いてください。
(ヒント:ROW()-ROW($A$2)+1 の形を使います)

問題5

セル B10 に =ROW() とだけ入力し、その式を B15 までコピーしたとき、
B10〜B15 にはそれぞれどんな数値が表示されるか、行番号と対応づけて説明してください。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました