スプレッドシート 連番

広告 スプレッドシート

【スプレッドシート】連番を自動入力する4つの基本方法とずれない自動化ワザを徹底解説

「スプレッドシートで1から順に連番を振りたいけれど、手手作業やオートフィルだと面倒…」
「行を削除したりフィルタをかけたりすると、番号が飛び飛びにズレてしまって困っている」

Googleスプレッドシートで名簿や売上表を作成する際、連番の入力方法によって作業効率とメンテナンスの手間が大きく変わります。

結論から言うと、行を削除してもズレない連番を作るなら「=ROW () - 1」、大量の連番を一瞬で作るなら「=SEQUENCE(100)」、フィルタ表示時にも順番通り綺麗に番号を詰めるなら「=SUBTOTAL (3, $B$2:B2)」が最適解です。

スプレッドシート 連番 自動入力 ROW関数 SEQUENCE関数 ずれない

この記事では、基本のドラッグ操作から、行の削除・追加に強い実務用の関数、ゼロ埋め「A-0001」形式の番号装飾テクニックまで分かりやすく解説します。

この記事でわかること

  • 連番を入力する4つの方法(オートフィル・足し算・ROW関数・SEQUENCE関数)
  • 行を途中で削除しても連番が崩れず自動詰まりする「ROW関数」の設定
  • 100行・1000行の連番を一発生成する「SEQUENCE関数」
  • フィルタで絞り込んでも1から順にナンバリングされる「SUBTOTAL関数」

【失敗談】行を削除したら連番が飛んだまま名簿を配布してツッコまれた話

手動のドラッグ(オートフィル)で連番を作成していると、予期せぬ欠番トラブルが起こります。

KYO
KYO

以前、社内研修の参加者名簿をGoogleスプレッドシートで作成した際、オートフィルで1から100までドラッグして連番を作成しました。
直前で数名のキャンセルが出たため途中の行を削除したのですが、連番が『12, 13, 16, 17...』と中抜けしたことに気づかず印刷して参加者へ配布…。
受け取った社員から『私の番号だけ飛んでるんですが、何か間違いですか?』と指摘されて周囲の前で大赤面しました。
行を消しても自動で数字が繰り上がる『ROW ()』関数や、フィルタ時にも表示行だけを1から数え直す『SUBTOTAL ()』関数の技を覚えてからは、名簿作成のミスがゼロになりました。

スプレッドシートで連番を自動入力する4つの基本方法比較

用途やデータ量に応じた連番の作成方法の比較です。

作成方法 数式・操作例 メリット・行削除時の挙動 おすすめ用途
オートフィル 「1, 2」を入力してドラッグ 直感的。ただし行削除で番号が欠番する。 数行の使い捨て表
ROW関数 =ROW () - 1 行削除しても番号が崩れず自動詰まりする。 一般的な顧客・商品リスト(推奨)
SEQUENCE関数 =SEQUENCE(100) 1つのセルに入力するだけで全自動展開。 大量のテストデータ・連続作成
SUBTOTAL関数 =SUBTOTAL (3, $B$2:B2) フィルタ表示中も表示行だけを1から連番化。 絞り込み表示を行う集計表

1. 行削除に強い「ROW関数」で連番を自動化する

データ行の追加や削除が頻繁に発生する表には、ROW 関数を使用します。

ROW () はそのセル自身の行番号を返す関数です。見出し行が1行目にある場合は、行番号から1を引き算します。

=ROW () - 1

この数式を下方向にコピーしておけば、途中の行を何行削除しても、自動的に再計算されて綺麗な連続番号が維持されます。

2. 1つの数式で大量の連番を一発生成する「SEQUENCE関数」

スプレッドシート特有の動的配列関数 SEQUENCE を使うと、数式のコピペすら不要になります。

=SEQUENCE(100)

A2セルにこの数式を1つ入力するだけで、A2からA101まで一瞬で1〜100の連番が溢れ出るように自動展開されます。

【裏ワザ】「A-0001」のようなゼロ埋め・記号付き連番を作る

単なる数値ではなく、管理コードのような書式付き連番を作る場合は TEXT 関数と組み合わせます。

ゼロパディング連番の数式例

「A-0001, A-0002...」を作成する場合:
="A-" & TEXT (SEQUENCE(100), "0000")

「No.01, No.02...」を作成する場合:
="No." & TEXT (ROW ()-1, "00")

よくある質問(FAQ)

Q1. フィルタで絞り込んだ時に連番が飛んでしまいます。
A1. SUBTOTAL 関数を使用してください。=SUBTOTAL (3, $B$2:B2)(※B列が空でない行をカウント)と入力しておくと、フィルタで非表示になった行を自動的に除外し、画面に表示されている行だけに1から順番に番号を振り直します。

Q2. SEQUENCE関数を入れると「#REF!」エラーが出ます。
A2. SEQUENCE関数が展開しようとする下のセル範囲に、すでにデータや文字が入っていると衝突してエラーになります。展開先のセルを空欄にクリアしてください。(※最新の仕様についてはGoogle公式ヘルプセンターも併せてご確認ください)

まとめ:用途に合わせて数式を選び手動ドラッグを卒業しよう

スプレッドシートの連番作成についてのまとめです。

  • 行削除に対応するなら =ROW () - 1 を使用する。
  • 大量の連番を一発生成するなら =SEQUENCE(件数) を活用する。
  • フィルタ表示時にも綺麗に連番を保つなら =SUBTOTAL (3, 範囲) が最強。

手動のドラッグ操作を卒業して数式による自動化を取り入れるだけで、名簿や集計表のメンテナンスコストがゼロになります。ぜひ活用してください!

  • この記事を書いた人

KYO

現役のシステムエンジニア。普段は企業向けの開発やツールの自動化を専門にしています。データの仕組みを知り尽くしたプロの視点から、スプレッドシートやExcel、Notion、AIツールの「本当に役立つ時短テクニック」を初心者向けに分かりやすく解説中!

-スプレッドシート