「Excelで表を作っていると、1行ごとに番号をふるのが面倒…」
こんなふうに感じたことはありませんか?
Excelには、行番号や管理用の通し番号を自動で入力する便利な方法があります。しかも、やり方を覚えてしまえばたった数秒で実行できます。
この記事では、初心者の方でもすぐに使える「番号の自動入力方法」をステップ別に解説します。さらに、業務で役立つ応用例も紹介します。
自動番号入力が役立つ場面

日常業務での活用
よくある使用例:
- 顧客リストの管理番号
- 商品の一覧番号
- 会議の議事録項目番号
- タスクリストの優先順位
- 売上データの行番号
自動入力のメリット
効率性の向上:
- 手動入力の時間削減
- 入力ミスの防止
- 一貫性のある番号管理
- データ追加時の自動対応
管理の向上:
- データの特定が容易
- 参照時の利便性向上
- 並び替え後の復元
- レポート作成時の整理
番号を自動で入力する基本の方法
オートフィルを使った連番入力
最もシンプルで分かりやすい方法です。
操作手順(例:1から10まで):
- A1セルに「1」と入力
- A2セルに「2」と入力
- 両方のセルを選択(A1:A2の範囲選択)
- 右下に出る「■」(フィルハンドル)を下にドラッグ
これでExcelがパターンを認識し、「3」「4」「5」…と自動的に連番を入力してくれます。
オートフィルの詳細テクニック
様々なパターンでの連番:
2つおきの番号(1, 3, 5, 7…):
- A1に「1」、A2に「3」を入力
- 範囲選択してフィルハンドルをドラッグ
10飛びの番号(10, 20, 30, 40…):
- A1に「10」、A2に「20」を入力
- 範囲選択してフィルハンドルをドラッグ
逆順の番号(10, 9, 8, 7…):
- A1に「10」、A2に「9」を入力
- 範囲選択してフィルハンドルをドラッグ
フィルオプションの活用
右クリックでのオプション選択:
- フィルハンドルを右クリックしながらドラッグ
- 「連続データ」を選択
- より詳細な設定が可能
詳細設定画面での選択肢:
- 加算:指定した増分で増加
- 乗算:指定した倍数で増加
- 日付:日付の連続入力
- オートフィル:パターン認識による自動
数式を使った高度な自動番号入力
ROW関数を使った基本的な連番
データの追加・削除がある表には、数式を使うのがおすすめです。
例:B列に常に連番を表示する方法
- B2セルに以下の数式を入力:
=ROW()-1
- 下の行にコピーすると、行に応じた番号が自動で表示
数式の解説:
ROW()
:現在の行番号を取得-1
:1行目がタイトル行の場合の調整- 2行目なら:ROW()=2、2-1=1となり「1」が表示
より柔軟なSEQUENCE関数(Microsoft 365)
新しい関数での一括連番生成:
=SEQUENCE(10,1,1,1)
パラメータの説明:
- 第1引数:行数(10行)
- 第2引数:列数(1列)
- 第3引数:開始値(1から開始)
- 第4引数:増分(1ずつ増加)
応用例:
=SEQUENCE(5,1,100,5) // 100,105,110,115,120
COLUMN関数での横方向連番
横方向(列)への連番入力:
=COLUMN()-1
応用例:
- B1セルに入力して右方向にコピー
- 1, 2, 3, 4…と横に連番が作成される
知っておくと便利な応用例
空白行を無視した連番
問題: 「ROW関数」では空白もカウントされてしまいます。
解決策: 「COUNTA関数」を使う方法があります。
例:C列の名前の数だけ番号をふる
=IF(C2<>"",COUNTA($C$2:C2),"")
数式の詳細解説:
C2<>""
:C2セルが空白でない場合COUNTA($C$2:C2)
:C2からCurrent行までの空白でないセル数をカウント""
:空白の場合は何も表示しない
条件付きの番号振り
特定の条件を満たす行のみに番号:
=IF(AND(C2<>"",D2="完了"),COUNTIFS($D$2:D2,"完了"),"")
用途例:
- 完了したタスクのみに連番
- 特定の部署のデータのみに番号
- 条件を満たす商品のみに管理番号
グループ別の連番
部署やカテゴリ別に1から始まる連番:
=COUNTIF($B$2:B2,B2)
応用例:
部署 番号
営業 1
営業 2
総務 1
営業 3
総務 2
高度な番号管理テクニック

欠番を自動検出する方法
連番の欠番をチェック:
=IF(ROW()=2,1,IF(A3=A2+1,"","欠番あり"))
大量データでの欠番一覧:
=FILTER(SEQUENCE(MAX(A:A)),ISERROR(MATCH(SEQUENCE(MAX(A:A)),A:A,0)))
自動採番システムの構築
最大値+1の自動採番:
=MAX(A:A)+1
重複チェック付き採番:
=IF(COUNTIF(A:A,MAX(A:A)+1)=0,MAX(A:A)+1,"重複エラー")
QRコード連携での管理番号
QRコード用のフォーマット番号:
="QR"&TEXT(ROW()-1,"000000")
結果例:
- QR000001
- QR000002
- QR000003
実務での活用パターン
顧客管理システム
顧客IDの自動生成:
="CUST"&TEXT(ROW()-1,"0000")&TEXT(TODAY(),"YYMMDD")
結果例:
- CUST0001250719(顧客番号0001、2025年7月19日)
商品管理での活用
商品コードの自動生成:
=B2&"-"&TEXT(COUNTIF($B$2:B2,B2),"000")
使用例:
カテゴリ 商品コード
食品 食品-001
食品 食品-002
衣料 衣料-001
プロジェクト管理
タスクIDの生成:
="TASK"&TEXT(YEAR(TODAY()),"0000")&TEXT(ROW()-1,"000")
WBS番号の階層管理:
=REPT(" ",LEN(A2)-LEN(SUBSTITUTE(A2,".","")))+ROW()-1
エラー対応とトラブルシューティング
よくある問題と解決策
問題1:連番がうまく続かない
- 原因:オートフィルで最初の2つの数字を正しく入力していない
- 解決策:必ず2つ以上の数値でパターンを示す
- 確認方法:選択範囲とフィルハンドルの位置を確認
問題2:途中で数字を変更すると自動番号も変わる
- 原因:数式と手動入力の混在
- 解決策:
- オートフィル:手動変更になる(固定値)
- 数式:行の追加・削除に応じて自動更新
問題3:空白行で番号が飛ぶ
- 原因:ROW関数は行番号をそのまま使用
- 解決策:COUNTA関数やCOUNTIF関数を活用
パフォーマンスの最適化
大量データでの処理速度向上:
- 不要な計算式の削除
- 配列数式の最適化
- 参照範囲の限定
- 自動計算の一時停止
VBAマクロでの自動化
基本的な連番マクロ
Sub AutoNumber()
Dim lastRow As Long
Dim i As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
Cells(i, 1).Value = i - 1
Next i
End Sub
高度な自動採番マクロ
Sub SmartNumbering()
Dim ws As Worksheet
Dim lastRow As Long
Dim startNum As Long
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row
startNum = 1
For i = 2 To lastRow
If ws.Cells(i, 2).Value <> "" Then
ws.Cells(i, 1).Value = startNum
startNum = startNum + 1
End If
Next i
End Sub
場面別の使い分けガイド

固定データの場合
おすすめ:オートフィル
- 手軽で直感的
- 一度作成すれば変更不要
- シンプルな連番に最適
動的データの場合
おすすめ:ROW関数やSEQUENCE関数
- データ追加時の自動対応
- 削除時の自動調整
- メンテナンスが容易
複雑な条件の場合
おすすめ:IF関数との組み合わせ
- 条件付きの番号振り
- グループ別の管理
- エラーハンドリング
まとめ
Excelで番号を自動でふる方法は、とても簡単でありながら作業効率を大きく上げてくれます。
基本的な方法:
- オートフィル:サッと使える時短ワザ
- ROW関数:動的データに対応
- SEQUENCE関数:Microsoft 365での高度な連番生成
選択の指針:
- 表の内容が固定:オートフィル
- データの追加・削除がある:数式
- 複雑な条件:関数の組み合わせ
効率化のポイント:
- 用途に応じた方法の選択
- エラー処理の組み込み
- 将来の拡張性を考慮
- チーム内での標準化
実務での価値:
- 大幅な時間短縮
- 入力ミスの防止
- データ管理の向上
- 業務の自動化推進
応用テクニック:
- 条件付き番号振り
- グループ別連番
- QRコードとの連携
- VBAでの完全自動化
コメント