エクセルで連番を自動で振る方法|オートフィル・ROW関数・行を消しても崩れない番号の付け方

エクセル 連番|行を消してもずれない連番 便利操作・データ整理

表に「1, 2, 3…」と番号を振りたいとき、1つずつ入力していては手間がかかります。連番は、機能と関数を使えば自動で振れます。

この記事では、オートフィルでの入力、行を削除しても崩れないROW関数、絞り込んだ行だけに番号を振るSUBTOTAL関数を説明します。

オートフィルで連番を入力する

いちばん手軽な方法です。最初の2つの番号を入力して、ドラッグします。

手順1|1つ目のセルに「1」、その下のセルに「2」を入力する

手順1:1つ目のセルに「1」、その下のセルに「2」を入力する

手順2|2つのセルを選び、右下の緑色の■(フィルハンドル)を下へドラッグする

手順2:2つのセルを選び、右下の緑色の■(フィルハンドル)を下へドラッグする

1つ目のセルだけに「1」と入力してドラッグした場合は、右下に出る「オートフィルオプション」で「連続データ」を選ぶと、連番になります。

ROW関数で、行を削除しても崩れない連番を振る

オートフィルで入力した番号は、途中の行を削除すると、番号が飛んでしまいます。ROW関数を使うと、行が変わっても自動で振り直されます。

ROW関数で、行番号から1を引いて連番を振る式を示した図

途中の行を削除しても、残った行の番号が自動で詰められます。

絞り込んだ行だけに連番を振る

フィルターで絞り込むと、非表示の行も番号に含まれてしまいます。表示されている行だけに連番を振るには、SUBTOTAL関数を使います。

=SUBTOTAL(103,$B$2:B2)

この式は、B2から現在の行までの範囲で、表示されているセルの個数を数えます。範囲の最初だけを「$」で固定するのがポイントです。フィルターで絞り込むと、見えている行だけが1から順に番号が振られます。

方法行を削除したとき絞り込んだとき
オートフィル(値)番号が飛ぶ非表示の行も含めて番号が残る
ROW関数自動で詰まる非表示の行も含めて番号が残る
SUBTOTAL関数自動で詰まる表示されている行だけ振り直される

うまくいかないときの確認ポイント

  • ドラッグしても全部「1」になる:連続データになっていません。オートフィルオプションで「連続データ」を選びます
  • 0から始まってしまう:ROW関数の「-1」の数を、見出し行の数に合わせます
  • SUBTOTALの結果が0:数える列に空白が含まれていないか確認します(103は空白を数えません)
  • 数式が「文字」として表示される:セルの表示形式が「文字列」になっていないか確認します

もう一歩進める|用途に合わせた連番の振り方

連番は、使う場面によって、より便利な方法があります。いくつかの応用的な振り方を紹介します。

SEQUENCE関数でまとめて振る

Microsoft 365やExcel 2021では、SEQUENCE関数で連番を一度に作れます。

=SEQUENCE(100)

これで1から100までの連番が縦に並びます。開始の数字や、増える間隔も指定できます。

グループごとに連番をふり直す

部署ごとに1から番号を振りたいときは、COUNTIF関数を使います。

=COUNTIF($A$2:A2,A2)

範囲の終わりだけ相対参照にしておくのがポイントです。下にコピーすると、同じ値が何回目に出てきたかが数えられます。

「No.001」のような形にそろえる

桁数をそろえた番号は、TEXT関数で作れます。

="No."&TEXT(ROW()-1,"000")

表をテーブルにして自動で振る

テーブルの中で「=ROW()-ROW(テーブル名[#見出し])」のような式を使うと、行を追加しても連番が自動で続きます。

連番がずれたときの直し方

行を並べ替えたり削除したりしたあとで、連番がとびとびになってしまうことがあります。そのときは、ROW関数を使った連番に変えるか、いったん連番の列を消して、振り直しましょう。

  • 手で入力した連番は、行を削除すると欠番になる
  • ROW関数の連番は、行を削除しても自動で詰まる
  • 並べ替えのあとも順番を保ちたいなら、ROW関数ではなく、値として固定した連番を使う

用途によって、「詰まってほしい番号」と「固定したい番号」は違います。請求書番号のように固定したい番号は、値のままにしておくのが基本です。

連番を使った並べ替えとフィルターのコツ

連番は、並べ替えやフィルターをしたあとで、元の順番に戻したいときにも役立ちます。データの一番左に連番の列を作っておくと、どんな並べ替えをしても、連番の列を昇順に並べ替えるだけで、元の並びに戻せます。

この目的で使う連番は、行を並べ替えても変わらないように、ROW関数ではなく、値として入力しておきましょう。作業用の連番であれば、作業が終わったあとで列ごと削除しても構いません。

  • 元の並びに戻したい:値の連番
  • 行の削除に合わせて詰めたい:ROW関数の連番
  • 絞り込んだ結果に番号を振りたい:SUBTOTAL関数を使った連番

まとめ

  • 最初の2つの番号を入力して、フィルハンドルをドラッグすれば連番になる
  • 行を削除しても崩れないようにするなら、ROW関数を使う
  • 絞り込んだ行だけに振るなら、SUBTOTAL関数を使う
  • 見出し行の数に合わせて、ROW関数の引く数を調整する
  • 用途に合わせて、3つの方法を使い分ける

連番を自動にしておけば、表の追加や削除のたびに番号を直す必要がなくなります。

コメント

タイトルとURLをコピーしました