INDEX
リストの長さに応じて連番を自動生成するには?

Excelで商品一覧や名簿などを作成していると、データの追加・削除に合わせて連番を自動で付けたいことがあります。
ROWS関数を使えば、数式をコピーするだけで連番を簡単に作成できます。また、Excel 365・Excel 2021以降ではSEQUENCE関数を使って自動生成することも可能です。
ROWS関数とは?
ROWS関数は、指定した範囲に含まれる行数を返す関数です。
基本構文
=ROWS(範囲)
範囲を少しずつ広げることで、1・2・3…という連番を作ることができます。
ROWS関数で連番を作成する方法
次のような商品一覧があるとします。
| A | B | |
|---|---|---|
| 1 | 番号 | 商品名 |
| 2 | =ROWS(A$2:A2) | りんご |
| 3 | =ROWS(A$2:A3) | バナナ |
| 4 | =ROWS(A$2:A4) | ぶどう |
| 5 | =ROWS(A$2:A5) | みかん |
入力する数式
セルA2へ次の数式を入力し、下方向へコピーします。
=ROWS(A$2:A2)
数式の解説
A$2は開始位置を固定します。- コピーすると、範囲が「A$2:A3」「A$2:A4」と広がります。
ROWS関数が範囲の行数を数えるため、1・2・3・4…と連番になります。
計算結果
| セル | 結果 |
|---|---|
| A2 | 1 |
| A3 | 2 |
| A4 | 3 |
| A5 | 4 |
SEQUENCE関数で自動生成する方法
Excel 365・Excel 2021以降では、SEQUENCE関数を使うと一度の入力で連番を生成できます。
=SEQUENCE(COUNTA(B2:B100))
| A | B | |
|---|---|---|
| 1 | 番号 | 商品名 |
| 2 | =SEQUENCE(COUNTA(B2:B100)) | りんご |
| 3 | バナナ | |
| 4 | ぶどう | |
| 5 | みかん |
数式の解説
COUNTA(B2:B100):商品名の件数を取得します。SEQUENCE:1から件数までの連番を自動生成します。
どちらを使えばよい?
| 方法 | 特徴 |
|---|---|
| ROWS関数 | すべてのExcelで利用でき、コピーして使う。 |
| SEQUENCE関数 | Excel 365・2021以降で利用可能。一度入力するだけで連番が生成される。 |
注意点
ROWS関数は数式をコピーした範囲までしか連番が作成されません。SEQUENCE関数はスピル機能を利用するため、出力先にデータがあると#SPILL!エラーになります。COUNTAは空文字("")を返す数式もデータとして数えるため、件数が想定と異なる場合があります。
まとめ
- コピーして使うなら:
=ROWS(A$2:A2) - Excel 365・2021なら:
=SEQUENCE(COUNTA(B2:B100)) ROWS関数は古いバージョンのExcelでも利用できます。- データ件数が変化するリストでは、
SEQUENCEとの組み合わせも便利です。
使用した関数について

ROWS関数で指定した範囲の行数を求める方法をわかりやすく解説
ROWS関数についてROWSの概要範囲内の行数を返す Excel関数=ROWS(範囲)概要 範囲内の行数を計算して返します。 指定した範囲の行数を返します。 単一セルを指定した場合、結果は「1」となります。 多次元の範囲を指定すると、行の総数を返します。ROWSはどのような時に使用するか 範囲に含まれる行の数を簡単に取...

SEQUENCE関数で開始値から連続する数値を配列として作成する方法をわかりやすく解説
SEQUENCE関数についてSEQUENCE関数の概要連続する数値の配列を生成Excel関数=SEQUENCE(行数, 列数, 開始値, 増加量)概要 SEQUENCE関数は、指定された行数や列数に基づいて連続した数値を生成する関数です。開始値や増加量を指定して柔軟な配列を作成できます。 行数や列数を指定し、2次元配列...

COUNTA関数で指定したデータの個数を求める方法についてわかりやすく解説
COUNTA関数についてCOUNTA関数の概要COUNTAExcel関数=COUNTA( 数値 , 数値 ,,, ) 指定したデータの個数を求める(空白文字、エラー値も含まれる) 数値、数値はにあるデータの個数を求めます。 データは文字、空白文字やエラーなどもカウントされます。 空白文字(スペース)ではなく、データその...