エクセルで、連番を振るには、オートフィルが、いちばん手軽です。「1」と「2」を入力して、2つのセルを選び、右下の「■」を下へドラッグします。行を削除しても、番号がずれないようにするなら、=ROW(A3)-2 のように、ROW関数で作ります。
この記事では、オートフィルでの連番、ROW関数での連番、空白行を飛ばす連番、「001」のような0埋め、連番にならないときの原因、印刷のページ番号を、1つの表を使って説明します。下の練習ツールで、氏名を書き換えて、結果の変わり方を試せます。
エクセルの連番|やりたいこと別の方法
| やりたいこと | 方法・式(例) | ポイント |
|---|---|---|
| 手軽に、連番を振る | 「1」「2」を選んで、オートフィル | 2つのセルを選んで、下へドラッグします。 |
| 行を削除しても、ずれない連番 | =ROW(A3)-2 | 行番号から、作ります。 |
| 空白の行を、飛ばして連番 | =IF(A3=””,””,COUNTA($A$3:A3)) | 入力のある行だけに、番号を振ります。 |
| 「001」のように、桁をそろえる | =TEXT(B3,”000″) | 先頭に、0を付けます。 |
| 「No.1」のように、文字を付ける | =”No.”&B3 | 文字と、数字を、つなげます。 |
| フィルターしても、1から振り直す | =SUBTOTAL(103,$A$3:A3) | 表示されている行だけを、数えます。 |
| Microsoft 365 で、まとめて作る | =SEQUENCE(6) | 1から6まで、自動で広がります。 |
オートフィルで連番を振る
連番を振る、いちばん手軽な方法です。最初の2つの数字から、規則を読み取って、下へ続きを、作ります。
1つのセルだけを選んで、ドラッグすると、同じ数字が、コピーされます。その場合は、ドラッグしたあとに、右下に出る「オートフィルオプション」から、「連続データ」を選ぶと、連番になります。または、Ctrl キーを押しながら、ドラッグしても、連番になります。
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
ROW関数で連番を振る(行を削除してもずれない)
ROW関数は、行番号を返します。連番の開始行に合わせて、数字を引くと、1から始まる連番になります。
=ROW(A3)-2
3行目で、結果は 1 です。「2」は、見出し行までの、行数に合わせて、変えます。行を削除しても、番号が、詰められます。ROW関数の、くわしい使い方は、ROW関数の使い方を参照してください。
▶ この式(B3)を、上の練習ツールで試す / この式(B5)を、上の練習ツールで試す / この式(I3)を、上の練習ツールで試す / この式(I5)を、上の練習ツールで試す / この式(I7)を、上の練習ツールで試す
空白の行を飛ばして連番を振る
空白の行には、番号を付けずに、入力された行だけに、順番に、番号を付けたいときは、COUNTA関数を使います。範囲の先頭に、「$」を付けて、固定します。
氏名が入っている行だけ、1、2、3…と、番号が付きます。氏名を空にすると、その行は、空白になり、次の行は、番号が詰められます。「$」の付け方は、絶対参照・相対参照とはを参照してください。
▶ この式(C3)を、上の練習ツールで試す / この式(C6)を、上の練習ツールで試す / この式(I4)を、上の練習ツールで試す
「001」のように、0埋めの連番にする
桁をそろえて、「001」「002」のようにするには、TEXT関数で、表示の形を、指定します。
1が、001 になります。「No.1」のように、文字を付けるときは、="No."&B3 で、結果は No.1 です。0埋めの結果は、文字列なので、計算には、使えません。計算に使うときは、元の数値の列を使います。
▶ この式(D3)を、上の練習ツールで試す / この式(E3)を、上の練習ツールで試す / この式(I6)を、上の練習ツールで試す
フィルターしても、連番を1から振り直す
フィルターで、一部の行を絞り込んだとき、表示されている行だけに、連番を振るには、SUBTOTAL関数を使います。
「103」は、表示されているセルの個数を数える指定です。絞り込むと、見えている行だけが、1から順に、数えられます。SUBTOTAL関数の、くわしい使い方は、フィルター後の合計を出す方法を参照してください。
Microsoft 365 なら、SEQUENCE関数で連番を作る
Microsoft 365 などの、新しいバージョンなら、SEQUENCE関数で、1つの式で、連番を作れます。
1から6までの連番が、縦に、自動で広がります。=SEQUENCE(6,1,10,5) のように、開始値と増分を、指定することも、できます。古いバージョンでは、使えないので、ROW関数を、使います。
印刷のページ番号を、連番で入れる
印刷するときの、ページ番号は、セルではなく、ヘッダーとフッターに、入れます。
複数のシートを、続けて印刷しても、ページ番号が、連番にならないときは、シートごとに、番号が、振り直されているためです。ブック全体を、まとめて印刷すると、通し番号になります。
連番にならないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| ドラッグすると、同じ数字になる | 1つのセルだけを、選んでいる | 2つ選ぶか、Ctrl キーを押しながら、ドラッグする。 |
| 「連続データ」の選択肢が、出ない | オートフィルオプションが、オフ | 「オプション」の「詳細設定」で、オンにする。 |
| 数字が、コピーされるだけになる | 文字列として入力されている | 数値に直してから、オートフィルする。 |
| 行を削除すると、番号が飛ぶ | オートフィルの、固定値 | ROW関数で、連番を作る。 |
| フィルターすると、番号が飛ぶ | 非表示の行も、番号が付いている | SUBTOTAL関数で、振り直す。 |
| 0埋めの結果で、計算できない | TEXT関数の結果は、文字列 | 元の数値の列を、使って計算する。 |
| 値を変えても、結果が変わらない | 計算方法が「手動」になっている | 「数式」タブの「計算方法の設定」を「自動」にする。 |
連番のよくある質問
連番を、自動で振るには?
「1」と「2」を入力して、2つを選び、右下の「■」を、下へドラッグします。行を削除しても、ずれない連番は、=ROW(A3)-2 で作ります。
連番にならないのは、なぜ?
1つのセルだけを選んで、ドラッグすると、同じ数字が、コピーされます。2つのセルを選ぶか、Ctrl キーを押しながら、ドラッグします。
001のように、0付きの連番にするには?
=TEXT(B3,"000") のように、TEXT関数で、桁数を指定します。セルの表示形式を、「ユーザー定義」の「000」にする方法も、あります。
あわせて読みたい:連番・行番号の関連記事
- ROW関数の使い方|行番号を求める・連番を作る
- Excelでフィルター後の合計を出す方法|SUBTOTAL
- エクセルの絶対参照・相対参照とは|$の付け方・F4キー
- エクセルで数式が反映されない・計算されない原因と対処
- Excelで累計(累積合計)を出す方法|SUMの範囲を固定
練習用ファイル:練習用Excelファイル(.xlsx・無料)
ランダムな数字や抽選のやり方は、エクセルでランダムな数字を作る方法もあわせてご覧ください。
ボタン操作で並べ替えたいときは、エクセルの並べ替えのやり方もあわせてご覧ください。
