Excelで行の追加や並べ替えをすると、連番がずれて困りますよね。そんなときは、手入力で直すより関数で自動振り直しにしておくのがいちばん早いです。この記事では、Excelの連番を自動で振り直す基本の関数から、削除行を除いて連番を振る方法、うまくいかないときの確認ポイントまで、仕事中にすぐ使える形でまとめます。

まず結論:Excelの連番はROW関数かCOUNTA関数で自動振り直しできます

先頭データ行が2行目なら、連番列に「=ROW()-1」を入れて下へコピーすると自動で連番を振り直せます。空白行を除いて詰めて連番にしたいなら「=COUNTA($B$2:B2)」が便利です。

使い分けはシンプルです。

  • 行番号に連動して連番を付けたい:=ROW()-1
  • 空白を飛ばして詰めた連番にしたい:=COUNTA($B$2:B2)
  • テーブルで自動拡張したい:テーブル化して関数を入れる

「どの関数を使えばいいか」だけ先に知りたい方は、まずこの2つを覚えておけば十分ですよ。

一番かんたんな方法:ROW関数で連番を自動振り直しする

行の追加、削除、並べ替えがあっても、その時点の行位置に合わせて番号を出したいならROW関数が便利です。

2行目から連番を始める式

たとえばA列を連番、2行目からデータ開始なら、A2セルに次の式を入れます。

=ROW()-1

2行目ではROW()が2を返すので、2-1で「1」になります。3行目なら「2」、4行目なら「3」という形です。

操作手順

  1. 連番を入れたい先頭セルをクリックします。例:A2
  2. 数式バー、またはセルに=ROW()-1と入力します。
  3. Enterキーを押します。
  4. セル右下の小さな四角にマウスを合わせます。
  5. 表示されたフィルハンドルを下へドラッグします。
  6. 連番が自動で入ったことを確認します。

この方法の良いところは、途中の行を削除しても、行を挿入しても、式が入っている範囲なら自動で番号が変わることです。

先頭行が3行目、4行目の場合はどうする?

開始行に合わせて引く数字を変えればOKです。

  • 3行目開始なら:=ROW()-2
  • 4行目開始なら:=ROW()-3

考え方は「開始行で1になるように調整する」です。

空白行を飛ばして連番を詰めたいときはCOUNTA関数が便利

ROW関数は行位置そのものを見ているので、途中に空白行があると番号も飛びます。もし「データが入っている行だけ1、2、3と連番にしたい」ならCOUNTA関数が向いています。

よく使う式

たとえばB列に氏名や商品名など、必ず入力される項目があるなら、A2に次の式を入れます。

=IF(B2="","",COUNTA($B$2:B2))

これでB列が空なら連番も空白、B列に値があれば上から順に1、2、3と付きます。

操作手順

  1. 連番列の先頭セルをクリックします。例:A2
  2. =IF(B2="","",COUNTA($B$2:B2))と入力します。
  3. Enterキーを押します。
  4. フィルハンドルを下へドラッグします。
  5. B列に値がある行だけ連番が表示されるか確認します。

入力のある行だけ番号を出したい一覧表では、この形がかなり使いやすいですよ。

並べ替え後も連番を自動で振り直したいときのやり方

Excelで並べ替えをすると、手入力の番号は順番が崩れます。でも関数なら、並べ替え後の並びに合わせて番号も変わります。

  1. 連番列にROW関数、またはCOUNTA関数を設定しておきます。
  2. 表全体をドラッグして選択します。
  3. 上部メニューのデータタブをクリックします。
  4. 並べ替えをクリックします。
  5. 基準にしたい列と昇順・降順を選びます。
  6. OKをクリックします。

このとき、連番列まで含めて表全体を選んでおくのが大事です。関数が入っていれば、並び替え後の位置に合わせて番号が見直されます。

Excelテーブルにすると連番の管理がもっとラク

日々行が増える表なら、普通の範囲よりテーブル化しておくと管理しやすいです。新しい行を追加したとき、関数が自動で下まで引き継がれやすくなります。

テーブル化の手順

  1. 表の中のセルを1つクリックします。
  2. Ctrl + Tを押します。
  3. 「先頭行をテーブルの見出しとして使用する」を確認します。
  4. OKをクリックします。
  5. 連番列の先頭データセルに関数を入力します。

これで新しい行を追加したときも、連番の式が自動で入るケースが多くなります。毎日更新する台帳や管理表ではかなり便利です。

うまくいかない場合のチェックポイント

連番が自動で振り直されないときは、次の点を確認してみてください。

1. 数式ではなく文字として入っている

  • セルに=ROW()-1と見えてそのまま計算されない場合、文字列扱いの可能性があります。
  • セルの表示形式を標準に変更して、もう一度入力し直しましょう。

2. 参照している列が違う

  • COUNTA関数は、基準にする列に空白があると想定どおりになりません。
  • 必ず値が入る列を基準にするのがコツです。例:氏名、ID、商品コードなどです。

3. 途中までしか数式が入っていない

  • 新しく追加した行に式が入っていないと、そこから先の連番が止まります。
  • フィルハンドルで下までコピーするか、テーブル化して自動反映しやすくしましょう。

4. 手入力の番号が残っている

  • 一部のセルだけ手入力だと、並べ替え後に番号がぐちゃぐちゃになります。
  • 連番列はすべて同じルールの数式で統一するのがおすすめです。

5. 計算方法が手動になっている

  • ブック設定によっては、自動計算されず更新が止まることがあります。
  • 数式タブの計算方法の設定自動になっているか確認しましょう。

目的別のおすすめ式まとめ

どの式を使うか迷ったら、次の基準で選べばOKです。

  • シンプルに行順で連番:=ROW()-1
  • 空白行を除いて詰めた連番:=IF(B2="","",COUNTA($B$2:B2))
  • 見出しの下が3行目開始:=ROW()-2

まずはROW関数から試して、空白を飛ばしたいときだけCOUNTA関数に切り替えると迷いにくいです。

最後に:一緒に覚えたい時短ワザ

連番作業をさらにラクにするなら、次の操作も覚えておくと便利です。

  • Ctrl + T:表をテーブル化する
  • Ctrl + Shift + L:フィルターのオン・オフ
  • Ctrl + 1:セルの書式設定を開く
  • Ctrl + D:上のセルの内容や数式を下へコピー
  • オートフィル:セル右下をダブルクリックすると下まで一気に数式をコピーできることがあります

Excelの連番は、手で直す前提にすると毎回時間を取られます。最初に関数へ置き換えておけば、並べ替えや行追加があってもかなりストレスが減りますよ。まずは自分の表で=ROW()-1を入れて、連番が自動で振り直される感覚を試してみてください。

おすすめの記事