実務の現場では、単に上から下に数字を並べるだけでは対応できない複雑なレイアウトや運用ルールが存在します。現場で頻出する3つの応用ケースに対する解決策を整理します。
1. フィルターで絞り込んでも連番を維持する「SUBTOTAL関数」
オートオートフィルターで特定の担当者や部署を抽出した際、通常の番号振りでは「1、4、9…」と非表示行の番号がスキップされてしまいます。この問題を解消するのがエクセルSUBTOTAL関数フィルター連番の技法です。
A2セルに以下の数式を入力し、下方向へコピーします。
=SUBTOTAL(3, $B$2:B2)
第1引数の「3」はCOUNTA処理を指し、非表示行を自動的に除外してカウントする特性を持ちます。これにより、どんな条件でフィルターをかけても、画面に表示されている行だけに「1、2、3…」と途切れのない番号がリアルタイムで振り直されます。
2. 途中に空白がある名簿で番号を飛ばす「COUNTA複合テクニック」
アンケート集計や改行用の空行が含まれるレイアウトでは、エクセル空白行を飛ばして番号を振る方法が有効です。IF関数を用いてデータ列の入力有無を判定します。
=IF(B2="","",COUNTA($B$2:B2))
B列に氏名などの入力がある行だけをカウントし、空欄行の番号セルは空白のまま残すため、美しい帳票レイアウトを崩さずに正確な通し番号を維持できます。
3. 階層管理に必須の「枝番自動採番」と「桁数ゼロ埋め」
見積書やプロジェクトタスク管理で「1-1」「1-2」のような階層番号を作る場合、エクセル枝番の自動採番テクニックが役立ちます。COUNTIF関数を活用し、親番号の出現回数をカウントして結合します。
=A2 & "-" & COUNTIF($A$2:A2, A2)
また、帳票の見た目を整えたり基幹システムへインポートする際は、エクセルTEXT関数連番の桁数統一を行い、「001」「No.0001」といった固定長フォーマットに整形するのが鉄則です。=TEXT(ROW()-1, "000")や=TEXT(ROW()-1, "No.0000")と記述することで、3桁や4桁のゼロ埋めコードが瞬時に生成されます。