Excelで連番!自動で連続した数字を振る方法

Excelの一覧

※ Microsoft365(旧Office365)Excelの画像を使って解説しています。

質問者
Excelで作った名簿にオートフィルコピーで通し番号を振っています。データの追加と削除の度に振り直していますが、自動で番号が振り直しされるようにできますか?
解答者
ExcelのROW関数で自動採番される連番を振ることができます。特定の文字列を足してコード番号を自動入力する方法、空白でないセルにだけ連番を振る方法も合わせて解説します。

ROW関数で自動採番される連番を振る方法

自動採番とは重複しない番号を自動で割り振ることで、データの追加や削除が発生するごとに連番を適正に振り直すという意味です。これはROW関数を使った簡単な数式で実装できます。

  1. 連番を振る表を「テーブル」に変換する(テーブル化することで、表の最後に行を追加しても自動採番が引き継がれる)
  2. 連番を表示させる一番上のセルを選択する
  3. ROW関数の引数を空にした数式を「=ROW()」と入力
  4. 続けて「-1」と入力
  5. =ROW()-1」の数式をEnterで確定させる
  6. データのある一番下の行までオートフィルコピーする
Excelで連番を自動で振る方法1

=ROW()-1の意味:「=ROW()」と入力すると、そのセルの行番号が取得できます。データは2行目から始まるので「2」と返りますから、「-1」を末尾に入力して「1」になるようにします。

特定の文字列を足してコード番号を自動入力する方法

連続した数字「12345・・・」だけで番号を振るのではなく、例えば、先頭に0を付けて「001」「002」・・・のように表記したり、「A-01」「A-02」・・・のようなコード番号を自動入力する方法です。

連番の先頭に0を表示させるには?

Excelでは数値の先頭に0を入力すると自動で省略されます。連番の先頭に0を付けて「001」「002」と表示させるには「セルの書式設定」でユーザー定義の表示形式を「000」と設定します。

Excelで連番を自動で振る方法2

連番のコード番号を自動入力させるには?

数字を特定の文字列に変換するTEXT関数の第1引数「値」に連番を求めるROW関数の数式を指定し、第2引数「表示形式」を「”A-000″」と文字列で指定します。

Excelで連番を自動で振る方法3

数式 : =TEXT(ROW()-1,”A-000″)

空白でないセルにだけ連番を振る方法

下図の表は名簿の名前の横に複数の連名を縦に並べてあります。主の名前にだけ連番を振るには、空白でないセルをカウントする「COUNTA関数」をIF関数に入れ子して実装します。

Excelで連番を自動で振る方法4

「名前」の列の空白を除外して、名前が入力された行にだけ連番を振ります。

IF関数の引数は以下のようになります。

  1. 第1引数「論理式」:「名前の一番上のセルが空白でなければ」を指定 B2<>“”
  2. 第2引数「値が真の場合」:「空白でないセルをカウントする」を指定 COUNTA($B$2:B2)
  3. 第3引数「値が偽の場合」:「空欄にする」を指定 “”
Excelで連番を自動で振る方法5

ポイントはCOUNTA関数の引数に範囲を指定し、最初のセル番地を絶対参照にすることです。下までオートフィルコピーすれば範囲が1つずつ増えていき、カウント数も1つずつ増えます。

まとめ
Excelの連番が自動で採番されるようにするには「ROW関数」を使う基本的な方法が一番簡単です。少し複雑なコード番号にしたければ、ユーザー定義の表示形式で変換するか、TEXT関数で文字列に変換しましょう。
タイトルとURLをコピーしました