こんにちは!Excel VBA講師の筆者です。日々の業務でExcelを使っていると、「A列に1から100まで連番を振る」といった作業に遭遇することは非常に多いですよね。
皆さんは、この作業をどのように行っていますか?まさか、セルに「1」「2」と入力して、オートフィルでドラッグ……なんて方法を繰り返しているわけではありませんよね?
今回は、Excelの基本機能から、業務を劇的に効率化する「自動化の極意」まで、プロの視点で徹底解説します。この記事を読み終える頃には、あなたのExcel作業のスピードは数倍に跳ね上がっているはずです。
1. なぜ「手入力」や「単純なドラッグ」が危険なのか?
まず、厳しいことを言うようですが、手入力による連番作成は「ヒューマンエラーの温床」です。
* **行の削除・追加に対応できない:** 行を削除した瞬間に番号が飛び、並び替えをすると番号がバラバラになる。
* **修正のたびにやり直し:** 途中に1行追加しただけで、また最初からドラッグし直す。
これでは、プロの仕事とは言えません。Excelは「データ」を管理するツールです。番号も「静的な値(固定値)」ではなく、「動的な値(数式や関数)」として管理するのが鉄則です。
2. 初級編:ROW関数を使った「動的連番」の基本
まずは、最もシンプルかつ実用的な`ROW関数`を使った方法を紹介します。
例えば、A2セルから連番を始めたい場合、A2セルに以下の数式を入力してください。
`=ROW(A1)`
これだけです。これを下にコピーすれば、A2は1、A3は2……と自動的に番号が振られます。なぜこれで良いのか? `ROW`関数は「そのセルの行番号」を返す関数だからです。A1は1行目なので「1」が返ります。
もし、「10行目から連番をスタートさせたい」といった場合は、`=ROW(A10)-9`のように引き算を組み合わせるだけで自由自在です。
3. 中級編:テーブル機能と組み合わせる「最強の自動化」
私が現場で最も推奨しているのが、Excelの「テーブル機能(Ctrl + T)」との組み合わせです。
Excelの範囲をテーブルに変換し、そこに`=ROW()-ROW(テーブルの開始行)`といった数式を入れると、驚くべきことが起きます。
* **行を追加しても番号が自動更新される**
* **数式が自動的にコピーされる**
* **フィルターをかけても番号が維持される(後述)**
テーブル機能を使うだけで、管理の手間が9割減ります。まだテーブル化していない方は、今すぐ「Ctrl + T」を押してください。世界が変わります。
4. 上級編:フィルターをかけても番号が飛ばない「SUBTOTAL関数」の魔法
データ分析の現場では、「特定の条件で絞り込んだ後も、連番を1から振り直したい」という要望がよくあります。
通常の`ROW`関数やオートフィルでは、フィルターで隠れた行も番号としてカウントされてしまいます。ここで登場するのが`SUBTOTAL関数`です。
`=SUBTOTAL(3, $B$2:B2)`
この数式を連番列に入れてみてください。「3」は`COUNTA`(空白以外のセルをカウントする)を意味します。これにより、フィルターで表示されている行だけを上から順に「1, 2, 3…」とカウントアップしてくれるのです。
報告書作成やプレゼン資料の作成において、このテクニックを知っているだけで「Excelができる人」という評価を確実に得られます。
5. VBA講師が教える「究極の自動化」:マクロで一瞬で振る
最後に、VBA講師としての本領発揮です。数式すら入力したくない、あるいは特定のボタンを押したタイミングで一気に連番を振りたいという場合、マクロ(VBA)を使うのが正解です。
以下は、選択した範囲のA列に、上から順に連番を振るシンプルなコードです。
Sub CreateSerialNumbers()
Dim i As Long
Dim rng As Range
‘ 選択範囲に対してループ処理
Set rng = Selection
For i = 1 To rng.Rows.Count
rng.Cells(i, 1).Value = i
Next i
End Sub
このコードを標準モジュールに貼り付け、クイックアクセスツールバーに登録しておけば、範囲を選択してボタンを「ポチッ」とするだけで連番が完了します。数千行のデータであっても、0.1秒で終わります。
6. 最後に:ツールに振り回されるな、ツールを使いこなせ
連番を振るという小さな作業一つとっても、これだけの選択肢があります。
* **単発作業なら:** オートフィルで十分
* **継続的な管理なら:** テーブル機能 + ROW関数
* **分析・絞り込みが前提なら:** SUBTOTAL関数
* **大量データの一括処理なら:** VBA
大切なのは、「今の作業に最適な手法は何か?」を瞬時に判断できるスキルです。
Excelは単なる表計算ソフトではありません。あなたの思考を反映させ、業務を自動化するための「強力な相棒」です。今日ご紹介したテクニックを一つでもいいので、ぜひ明日からの業務で試してみてください。
「手作業」を「思考作業」に変える。それが、Excelを使いこなすプロフェッショナルの第一歩です。
皆さんのExcelライフが、より効率的でクリエイティブなものになることを願っています。また次回の記事でお会いしましょう!
