excel

【Excel】エクセルで連番を自動入力する方法

エクセルで連番を自動入力する方法1【オートフィル】 - 最初の2つの番号の入力
当サイトでは記事内に広告を含みます

エクセルで名簿、請求書、管理表などを作成するとき、No.欄へ連番を入力する作業は意外に時間がかかります。

1、2、3と手入力すると、途中で行を追加した場合や並べ替えをした場合に番号がずれやすく、修正漏れの原因にもなります。

連番はオートフィル、数式、テーブル機能を使い分けることで、入力の手間と番号ずれを同時に減らせます。

エクセルで連番を自動入力する主な方法

・ドラッグで連番を増やすオートフィル

・ROW関数で行番号を利用する数式

・テーブルでデータ件数に合わせて増える番号

この記事では、Excelで連番を自動入力する方法を、1行目に見出しがあるサンプルデータを使って詳しく解説します。

途中で空白行がある表、条件に合う行だけへ番号を付ける表、並べ替え後にも整った番号を表示したい表にも役立つ内容です。

 

エクセルで連番を自動入力する方法1【オートフィル】

A列 B列 C列
No. 氏名 部署
1 田中 営業
2 佐藤 総務
3 鈴木 企画

それではまず、最も手軽なオートフィルによる連番入力について解説していきます。

少ない件数の表を作るときや、番号を確定値として入力したいときに向く方法です。

オートフィルでは最初の2つの数字から増加の規則をExcelに伝えます。

1と2を入力して選択すれば、以降は1ずつ増える連続データとして扱われます。

 

最初の2つの番号の入力

まず、A1セルにNo.、B1セルに氏名などの見出しを入力し、連番を始めるA2セルへ1、A3セルへ2を入力します。

先頭の番号を1つだけ入力してドラッグすると、通常は同じ値のコピーになるため、連番にしたい場合は2つの値を準備するのが基本です。

A2セルとA3セルをドラッグして、2つのセルが選択された状態にします。

エクセルで連番を自動入力する方法1【オートフィル】 - 最初の2つの番号の入力

数値は1と2に限らず、10と20、100と200のように開始値と間隔を指定できます。

たとえば10、20を選択してオートフィルすると、30、40、50と10刻みの連番になります。

日付、曜日、月もオートフィルの対象ですが、番号欄では意図しない表示形式になっていないか確認しましょう。

 

フィルハンドルのドラッグ

続いては、選択範囲の右下に表示される小さな四角形、フィルハンドルを確認していきます。

マウスポインターを右下へ合わせ、黒い十字の形になったら、連番を入れたい最終行まで下方向にドラッグします。

エクセルで連番を自動入力する方法1【オートフィル】 - フィルハンドルのドラッグ

Excelは選択した1と2の差を認識し、A4セルには3、A5セルには4というように自動入力します。

データが数十行程度なら、フィルハンドルをダブルクリックする方法も便利です。

隣接するB列などにデータが連続している場合、ダブルクリックだけでデータ最終行付近まで番号をコピーできます。

途中に空白行があるとダブルクリックの到達位置が早く止まることがあるため、長い表では結果を必ず確認します。

 

連続データとコピーの切り替え

オートフィル後の右下には、オートフィルオプションの小さなボタンが表示される場合があります。

ここでは連続データ、セルのコピー、書式のみコピーなどを切り替えられます。

番号がすべて1になった場合は、表示されたボタンから連続データを選ぶか、1と2の2セルを選択し直してから操作しましょう。

また、Ctrlキーを押しながらドラッグすると、通常とは異なるコピー動作になることがあります。

意図した連番にならないときは、操作をやり直す前にオートフィルオプションの内容を確認するのが近道です。

【操作のポイント】先頭2セルへ規則を入力し、フィルハンドルで伸ばすと、開始番号と増分を自由に設定できます。

 

エクセルで連番を自動入力する方法2【ROW関数】

A列 B列 C列
No. 商品名 数量
=ROW()-1 ノート 5
=ROW()-1 ペン 8

続いては、行番号を利用するROW関数で連番を作る方法を確認していきます。

数式で番号を表示するため、行を挿入したときにも計算が更新されやすい点が特徴です。

1行目が見出しの場合、A2セルへ入力する基本式は次のとおりです。

=ROW()-1

ROW関数が返す行番号から見出し行の1を引くことで、2行目を1番として表示します。

 

ROW関数の基本式

まず、A1セルにNo.という見出しがあり、データが2行目から始まる表を用意します。

A2セルに=ROW()-1と入力してEnterキーを押すと、A2セルには1が表示されます。

ROW関数は、引数を省略した場合に、その数式が入力されているセルの行番号を返す関数です。

エクセルで連番を自動入力する方法2【ROW関数】 - ROW関数の基本式

A2セルは2行目なのでROW()は2となり、そこから1を引いて1になります。

A3セルへ数式をコピーするとROW()が3になり、計算結果は2です。

見出しが1行目にある表では、ROW()-1という形を覚えると多くの連番表へ応用できます。

 

数式のオートフィル

次に、A2セルのフィルハンドルを下へドラッグして、数式を必要な行までコピーします。

数式をコピーすると、Excelはセルごとの行番号に合わせてROW関数を再計算します。

このとき、A3セルの式も見た目は=ROW()-1のままですが、計算対象の行が変わるため表示値は2になります。

エクセルで連番を自動入力する方法2【ROW関数】 - 数式のオートフィル

フィルハンドルをダブルクリックすれば、隣のB列に連続データがある範囲まで数式をコピーできます。

式の結果だけを残したい場合は、連番列をコピーし、形式を選択して貼り付けで値を選択すると数値へ変換できます。

数式のまま残すか、値として固定するかは、後から行を増減する可能性で決めましょう。

 

開始番号を変える数式

続いては、1以外から連番を始める式を確認していきます。

たとえばA2セルを100から始めたい場合は、=ROW()+98と入力します。

A2セルではROW()が2なので、2に98を加えることで100になります。

開始値をS、データ開始行をRとすると、考え方はROW()-R+Sです。

開始行が2行目で、500から番号を始める場合の数式

=ROW()-2+500

A2セルでは2-2+500となるため、500を表示します。

数式の調整では、開始セルの行番号と開始したい番号を分けて考えると間違いを防げます。

【操作のポイント】ROW関数は行番号を返すため、見出し行の数を引き、必要なら開始番号を足して調整します。

 

空白行を除いて連番を付けるIF関数とCOUNTA関数

A列 B列 C列
No. 氏名 備考
1 田中 入力済み
2 佐藤 入力済み

続いては、氏名などのデータがある行だけに番号を振る数式を確認していきます。

空白行を含む申込書、作業予定表、入力途中のリストで特に便利な方法です。

A2セルへ入力する代表的な数式は次のとおりです。

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

B列が空白なら番号も空白にし、データがある場合だけB2からその行までの入力件数を表示します。

連番リスト.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 ヘルプ
貼り付け  B I U 罫線  配置  表示形式  オートSUM  並べ替えとフィルター
A2 fx =IF(B2="","",COUNTA($B$2:B2))
A B C
1 No. 氏名 備考
2 1 田中 入力済み
3
4 2 佐藤 入力済み
数式をA2へ入力
➤

 

空白セルを判定するIF関数

まず、A列を番号列、B列を氏名などの必須データ列とします。

A2セルに=IF(B2=””,””,COUNTA($B$2:B2))と入力します。

IF関数の最初のB2=””は、B2セルが空白かどうかを判定する条件です。

B2が空白なら2つ目の引数である””を返すため、A列にも何も表示されません。

一方でB2に氏名が入っていれば、3つ目の引数であるCOUNTA関数が計算されます。

空白行に番号を表示しない設定にすると、印刷用の間隔や途中の入力待ち行を残したまま管理できます。

 

COUNTA関数で件数を数える仕組み

COUNTA($B$2:B2)は、B2セルから現在行のB列セルまでにある空白ではないセルの個数を数える式です。

最初の$B$2は絶対参照なので、数式を下へコピーしてもB2のまま固定されます。

末尾のB2は相対参照なので、A3へコピーするとB3、A4へコピーするとB4へ変わります。

したがって、A4セルではCOUNTA($B$2:B4)となり、B2からB4までの入力済み氏名を数えます。

数式の参照範囲の変化

A2セル =IF(B2=””,””,COUNTA($B$2:B2))

A3セル =IF(B3=””,””,COUNTA($B$2:B3))

A4セル =IF(B4=””,””,COUNTA($B$2:B4))

開始セルだけを固定するドル記号が、連番を正しく積み上げる重要なポイントです。

 

数式を最終行までコピーする操作

続いては、作成した数式を表全体へコピーする操作を確認していきます。

A2セルを選択し、右下のフィルハンドルをデータ最終行までドラッグします。

隣のB列に連続してデータが入っている場合は、フィルハンドルをダブルクリックしてもかまいません。

空白行がある表では、必要な最終行までドラッグしたほうが確実です。

B列に後から氏名を入力すると、その行のA列へ自動的に次の番号が表示されます。

逆にB列の内容を削除すると番号も消えるため、入力状況に合わせたリストを保てます。

【操作のポイント】番号を付ける基準列は、必ず入力される氏名や商品名などの列を選ぶと、欠番や誤採番を防げます。

 

並べ替えに対応する連番とSUBTOTAL関数

A列 B列 C列
No. 商品名 区分
1 ノート 文具
2 ペン 文具

続いては、フィルターで絞り込んだ後にも1から連番を表示する方法を確認していきます。

通常のROW関数では非表示行も数えるため、検索結果や抽出結果へ番号を振る場合には工夫が必要です。

A2セルに入力する代表的な式は次のとおりです。

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

3は空白ではないセルを数えるCOUNTAの集計番号で、フィルターで非表示の行を除いて数えられます。

 

フィルター後の番号ずれ

商品一覧を区分や担当者でフィルターすると、画面には一部の行だけが表示されます。

ROW関数で作った番号は元の行番号を基準にするため、表示上は1、5、9のように飛ぶことがあります。

一覧の件数や検索結果を確認する用途では、この飛び番号が読みにくく感じられるかもしれません。

表示されている行だけに1から番号を付けたい場合は、SUBTOTAL関数が適しています。

 

SUBTOTAL関数の入力

A2セルへ=SUBTOTAL(3,$B$2:B2)と入力して、下の行へコピーします。

SUBTOTAL関数の3は、COUNTAと同じく空白ではないセルを数えるための指定です。

参照範囲はB2から現在の行までとなり、B列の入力件数を順番に集計します。

フィルターで特定の区分だけを表示すると、非表示の行は集計から外れ、表示行だけが1、2、3と並びます。

基準列には、商品名や受付番号など、データ行で必ず値が入る列を指定しましょう。

 

並べ替えとフィルターの使い分け

並べ替えだけを行う場合は、通常の連番でも番号がデータと一緒に移動します。

一方、フィルターで一部を隠した状態において画面上の順位を示したい場合は、SUBTOTAL関数が便利です。

元の管理番号を維持する列と、抽出表示用の連番列を分ける運用も考えられます。

管理上の識別番号は固定し、表示順の番号は別列で計算すると、データの追跡性を保ちやすくなります。

【操作のポイント】フィルター後の見えている行だけを数えたいときは、ROW関数ではなくSUBTOTAL関数を使います。

 

テーブル機能による連番の自動拡張

No. 案件名 担当者
1 見積作成 山田
2 訪問準備 高橋

続いては、表へ新しい行を追加した際に数式を自動で広げやすいテーブル機能を確認していきます。

継続的にデータを追加する顧客台帳や案件管理表では、毎回数式をコピーする手間を減らせます。

テーブルの連番列では、次のような式が利用できます。

=ROW()-ROW(Table1[#Headers])

テーブル名は作成した環境で異なるため、数式入力時に表示される候補を確認します。

 

表をテーブルに変換する操作

まず、見出しを含めたデータ範囲を選択し、挿入タブのテーブルをクリックします。

ショートカットキーならCtrlキーとTキーでもテーブルの作成画面を開けます。

範囲が正しいことと、先頭行をテーブルの見出しとして使用する項目にチェックがあることを確認します。

テーブルにすると見出しへフィルターが付き、行の追加や書式の統一がしやすくなります。

データが増え続ける表は、通常のセル範囲よりテーブルにしておくと管理しやすくなります。

 

連番用の計算列

テーブルのNo.列の最初のデータセルに、ROW関数を使った連番式を入力します。

Excelは同じ列を計算列として認識し、既存のデータ行へ数式を自動で反映します。

テーブルの末尾に新しい案件名を入力すると、テーブル範囲が拡張され、連番の式も新しい行へコピーされます。

数式を下までドラッグする操作が不要になるため、入力担当者が複数いる表にも向きます。

計算列は同じ計算式を列全体で保てるため、数式のコピー漏れを抑えられます。

 

テーブル利用時の注意点

テーブルの列名やテーブル名を変更すると、構造化参照を使った数式の表示も変化します。

式を他のシートへコピーする場合は、参照先のテーブル名が意図どおりか確認しましょう。

また、番号を取引先へ提出する正式な管理番号として使う場合は、行の削除や並べ替えによる変動を考慮する必要があります。

変更しない番号が必要なら、連番を値として貼り付けて確定する方法もあります。

【操作のポイント】追加行が多い一覧はテーブル化し、連番列を計算列にすると数式のコピーを省略できます。

 

まとめ エクセルで連番を自動入力する方法

エクセルで連番を自動入力する方法は、表の目的と更新頻度に合わせて選ぶことが大切です。

短い表で番号を確定したい場合は、1と2を入力してフィルハンドルで伸ばすオートフィルが簡単です。

行の追加や削除に合わせて番号を更新したい場合は、1行目を見出しとした=ROW()-1が基本になります。

空白行を除外したいときはIF関数とCOUNTA関数、フィルター結果に連番を付けたいときはSUBTOTAL関数を使い分けましょう。

データを継続して追加する台帳では、テーブル機能と計算列を組み合わせると、数式のコピー漏れを抑えられます。

連番入力の選び方

・固定した番号を素早く入れるならオートフィル

・行番号に連動させるならROW関数

・空白行を除くならIF関数とCOUNTA関数

・抽出結果に振るならSUBTOTAL関数

・追加の多い表ならテーブル機能

連番は小さな要素に見えても、名簿、在庫表、請求管理、アンケート集計など、表の読みやすさを左右します。

用途に合う方法を選び、番号ずれのない見やすいExcelファイルを作成していきましょう。