「Excelでフィルターをかけたら、番号が飛び飛びになって困った…」という経験はありませんか?
本記事では、データを絞り込んでも連番が「1, 2, 3…」と自動で振り直される「SUBTOTAL関数」を使った連番作成テクニックを分かりやすく解説します。
Excel作業の無駄を省き、業務効率化を図りたい方は、ぜひ最後までご覧ください。
Excelフィルター時の連番ズレが起きる原因
データの抽出作業で発生しやすい連番のズレですが、そのまま放置すると業務の誤解や余計な手間の原因になります。まずは、なぜ連番がずれてしまうのか、その仕組みと発生するリスクを確認しましょう。
手入力や通常ドラッグの限界
オートフィル機能や手入力で「1, 2, 3…」と連番を作成した場合、各セルには固定の数値が入っています。そのため、フィルターを使って特定のデータだけを絞り込むと、非表示になった行の番号まで飛ばされてしまい、「1, 5, 12…」といった不連続な表示になってしまいます。
連番ズレが引き起こす業務上のリスク
連番が飛び飛びになっていると、絞り込んだ結果が全体で何件あるのかが一目で把握できなくなります。また、取引先や社内に提出する資料としては見映えが悪く、確認作業の手間が増える原因にもなります。あなたの職場でも、印刷前に手作業で番号を打ち直すといった無駄な作業が発生していませんか?
SUBTOTAL関数を使ってフィルター後も自動で連番を振る方法
絞り込みを行っても常に上から「1, 2, 3…」と綺麗に自動番号を振り直すには、SUBTOTAL関数(サブトータル関数)を使用します。基本的な数式の仕組みと具体的な設定手順を見ていきましょう。
SUBTOTAL関数の基本構造と仕組み
SUBTOTAL関数は、指定した集計方法に基づいてリストの計算を行う関数です。最大の特徴は「フィルターで非表示になった行を除外して計算できる」点にあります。
フィルター時の連番ズレを防ぐための基本数式は以下の通りです。
=SUBTOTAL(3, $B$2:B2)
役割と意味は以下の表の通りです。
| 項目 | 入力する内容 | 役割・意味 |
| 第1引数(集計方法) | 3(または103) | 画面に表示されている行のみを対象に、データの個数を数える(COUNTA機能) |
| 第2引数(参照範囲) | $B$2:B2 | カウントする対象のセル範囲を指定する |
※第1引数に「3」を指定すると、フィルターで隠れた行を集計から除外します。手作業で非表示にした行も除外したい場合は「103」を使用してください。
ステップで解説!自動連番の設定手順
具体的にデータ一覧へ連番を設定する手順を解説します。
- 連番を表示させたい先頭セル(例:A2セル)を選択する
- 数式
=SUBTOTAL(3, $B$2:B2)を入力する※B2セルには、必ず値が入っている隣の列(氏名や商品名など)のセルを指定します。 - 数式を入力したセルを下方向へオートフィル(コピー)する
この設定を行っておくことで、データにフィルターを適用して絞り込んでも、見えている行だけが上から順番にカウントされ、自動で「1, 2, 3…」と連番が振り直されます。
実務で差がつく!SUBTOTAL関数の応用テクニック
基本の使い方をマスターしたら、さらに実務で役立つ応用テクニックを取り入れてみましょう。入力の手間を減らし、よりスマートな表を作成できます。
IF関数を組み合わせて空白行の番号表示を防ぐ
データが入力されていない空欄の行まで数式をあらかじめコピーしておくと、意図しない番号が表示されてしまうことがあります。これを防ぐには、IF関数と組み合わせて「隣のセルが空欄の場合は何も表示しない」という条件を追加します。
=IF(B2="","",SUBTOTAL(3, $B$2:B2))
この数式を設定しておけば、将来的にデータが増えたときのために下方向へ数式をコピーしておいても、見映えを美しく保つことができます。
Excelテーブル化で連番作成を完全自動化
Excelの「テーブル機能」を活用すると、新しいデータを末尾に追加した際にも数式が自動的に適用されます。わざわざオートフィルで数式をドラッグし直す必要がなくなり、設定ミスや入力漏れを防ぐことが可能です。
業務効率化チェックリスト:あなたのExcel作業ストレス度
日々の事務作業で以下のようなトラブルや無駄が発生していないか、チェックしてみましょう。
- フィルターをかけるたびに連番を手作業で打ち直している
- 印刷前に番号が飛び飛びになっていないか目視確認している
- データ追加時に数式のコピー忘れが発生している
- 集計件数を把握するためにわざわざセルを範囲選択してカウントしている
もし1つでも当てはまる項目があれば、Excelの関数や機能を活用した業務改善の伸び代があります。小さな操作の工夫を重ねることが、チーム全体のDX推進や残業削減につながります。
まとめ | SUBTOTAL関数でフィルターの連番ズレを解消しよう
Excelでフィルターをかけた際の連番ズレは、SUBTOTAL関数を活用することで簡単に解決できます。
この記事の重要ポイント
- 手入力やオートフィルでの連番は、絞り込み時に番号が飛び飛びになる
=SUBTOTAL(3, $B$2:B2)を使うと、表示されている行だけを自動カウントできる- IF関数と組み合わせることで、空白セルの不要な番号表示を防げる
- Excelテーブル機能を併用すれば、データ追加時の数式コピーも自動化できる
わずかな設定の違いで、毎日のデータ確認や資料作成の時間を大幅に削減できます。手作業での打ち直しや確認作業から卒業し、業務効率化とDXへの第一歩を踏み出しましょう。


