エクセルでは表をよく作りますが、連番を入力するのは以外と面倒です。
『連番を入力』する方法として、直接数字を打ち込む方法から、関数を使った方法までさまざまなものがあります。
- 数字を入力して連番を振る。
- 演算(足し算)を使って連番を自動入力する。
- row関数を使って連番を自動入力する。
- COUNTA関数を使って連番を自動入力する。
- SUBTOTAL関数使って連番を自動入力する。
今回は、上記5つの方法を使って連番を自動入力する方法を紹介します。
それぞれの方法のメリット、デメリットについても解説するので、ぜひ参考にしてください。
行の状態が変更(削除、非表示、フィルター)されても、正しく連番を自動入力する超便利な方法もあるので、必見ですよ。
数字を入力して連番を入力する
最初はもっとも単純な方法で、全てのセルに直接連番(数字)を入力する方法です。
といっても、手で1つ1つ数字を打ち込むのは大変なので、ここでは『フィルコピー』を使って一気に入力してみます。
連番を入力したい最初のセル(B4)に『1』を入力。
そして、そのセルの右下にマウスを置いて『十字カーソル』に変わったら、マウスの右ボタンでつまんで一気に最後の行までドラッグします。
すると、次のようなメニューが表示されるので、『連続データ』を選択。
これで、『№』の列に一気に連番が入力されます。
フィルコピーの操作がマウスの右ボタンなのでちょっと特殊ですが、難しいことはありません。
数字入力のメリット
メリットとしては、式や関数を使わず連番の数字が入力されて『シンプル』というところと、途中の数字を削除しても他の連番には影響がないところでしょうか。
数字入力のデメリット
デメリットは、途中の行を『削除』したり『非表示行』にした時に、そのまま欠番になってしまうことです。
数字を入力しただけなので、このデメリットは当たり前といえば当たり前ですね^^
演算(足し算)を使って連番を自動入力する
続いては、足し算を使って連番を自動入力する方法。
連番の最初のセル(B4)には『1』を入力し、2番めのセル(B5)には次の演算式を入力します。
=B4 + 1
この演算の結果、2番めのセルはB4のセルの『1』に『1』を足した結果の『2』が入力されます。
以降の行も前行の値に1が足されるように、フィルコピーで演算式をコピーすれば連番の入力が完成です。
フィルコピーは、上記エクセルに書いている2つの方法どちらかを使ってください。
演算(足し算)を使った連番入力のメリット
しいていえば、最初の数字を例えば『1』から『100』に変更すれば、それ以降の数字が自動で『101』、『102』、、、ときちんと連番になることです。
ちょっと弱いメリットかな^^
演算(足し算)を使った連番入力のデメリット
こちらのデメリットも、直接数字入力と同じで、途中の行の削除や非表示の場合に連番とならないことがデメリットです。
行を削除した場合は、演算ができなくなるのでエラーとなります。
ROW関数を使って連番を自動入力する
ここからは関数を使った方法。
まずはROW関数を使った方法で、この関数は『行数』を返してくれます。
つまり、3行目のどこかのセルに『=ROW()』と入力すれば『3』が返ってきます。
これを踏まえて、ROW関数を使った連番の自動入力方法です。
連番の最初のセル(B4)に次の式を入力。
=ROW() - 3
『=ROW()』で4(行目)が返ってくるので、そこからその前の行数(3)の分だけ引くことで、現在の行の正しい連番(1)が求まる式になっています。
以降の行も同じ式をフィルコピーでコピーすれば、連番の自動入力が完成です。
フィルコピーは、『演算(足し算)』のところで書いている2つの方法(ダブルクリックかドラッグ)どちらかを使ってください。
ROW関数を使った連番の詳しい入力方法、次の記事で詳しく書いているので参考にしてください。
COLUMN関数を使って列も自動入力できますよ^^
ROW関数を使った連番入力のメリット
この方法のメリットは、途中の行を削除しても連番が正しく入力されることです。
ROW関数を使った連番入力のデメリット
ROW関数の一番のデメリットは、表の前で『行挿入』や『行削除』の編集がされると、『連番がずれる』というデメリットがあります。
さきほどの例でいうと、表の行がずれることで『-3』では正しい連番にならないということです。
結構気づかずに、表の前で行を挿入することが多いんですよね^^
他には、途中の行を非表示にした場合の連番ずれがあります。
COUNTA関数を使って連番を自動入力する
COUNTA関数は、『指定範囲に何か入力されているセルがいつかあるか求める』関数です。
連番の最初のセル(B4)に次の式を入力。
=COUNTA($C$4:C4)
$C$4はセル『C4』の位置を示していますが、『$』をつけることで絶対参照(位置)になります。
この『$C$4』は他の行にコピーされても、変化しません。
つまり、『=COUNTA($C$4:C4)』を次の行にコピーすると、『=COUNTA($C$4:C5)』が貼り付けられます。
この式により、『連番の最初のセル(C4)から自分の行のセル(C5)までのセルの個数』が求まります。
ここで求まった数字が、そのまま『連番の数字』となるわけです。
以降の行も同じ式をフィルコピーでコピーすれば、連番の自動入力が完成します。
フィルコピーは、『演算(足し算)』のところで書いている2つの方法(ダブルクリックかドラッグ)どちらかを使ってください。
COUNTA関数を使った連番入力のメリット
ROW関数と全く同じで、途中の行が削除されても連番が正しく入力されるのがメリット。
COUNTA関数を使った連番入力のデメリット
削除は問題ないですが、途中の行を非表示にした場合に連番がずれるというデメリットがあります。
SUBTOTAL関数を使って連番を自動入力する
最後にSUBTOTAL関数。
この関数は多機能で、使うメリットが非常に多い関数です。
SUBTOTAL関数は引数で『計算方法』を指定することで、SUM関数やCOUNTA関数などと同じ計算ができます。(他にはMAX関数やAVERAGE関数などもあり)
ここでは、連番を求めるためにCOUNTAと同じ計算方法を引数で指定することにします。
連番の最初のセルに、次の式を入力。
=SUBTOTAL(103, $C$3:C4) - 1
以降の行も同じ式をフィルコピーでコピーすれば、連番の自動入力が完成です。
フィルコピーは、『演算(足し算)』のところで書いている2つの方法(ダブルクリックかドラッグ)どちらかを使ってください。
なお、SUBTOTAL関数はとても賢く便利なので、次の記事で詳しく解説しています。
これを読めば、どれだけSUBTOTAL関数が優秀なのかわかりますよ^^
SUBTOTAL関数を使った連番入力のメリット
SUBTOTAL関数を使う一番のメリットは、なんといっても『見えている行だけを対象に計算』することです。
つまり、途中の行を削除しても連番が正しく入力されます。
そして、途中の行を非表示にしても正しく連番が入力されます。
極めつけは、オートフィルターで抽出された行でも正しく連番が入力されることです。
SUBTOTAL関数を使った連番入力のデメリット
デメリットはあまりないですが、しいていえばカウント計算の対象範囲のセルに、1つでも『未入力』のセルがあった場合、連番が正しく計算されないことぐらいです。(COUNTA関数も同じ)
なので、SUBTOTAL関数を使う場合は、確実に入力されているセルの列を計算の対象範囲に指定することがポイントとなります。
連番を入力する方法はバラエティに富んでいますが、結局、行削除/非表示行/フィルターによる行の変更があっても、正しく連番を入力してくれるSUBTOTAL関数がベストな方法じゃないでしょうか。
ただし、先にも書いたように、フィルターの対象外れの問題を回避するために、式がちょっと複雑になっているのがちょっとしたマイナス点ですけどね。
それでも、行編集後の連番振り直しの可能性を考えると、やっぱり連番の自動入力にはSUBTOTAL関数がおすすめです。
SUBTOTAL関数は『小計』などの合計にも使える
SUBTOTALは日本語に訳すと『小計』という意味で、『小計』だけを合計するということが簡単にできます。
表に小計を使っている場合には重宝する関数だと思うので、次の記事で使い方を参考にしてください。
また、SUBTOTAL関数は『今見えている行だけを合計する』ことも簡単にできます。
フィルターだけではなく、行を非表示にしたときも非表示の行を計算の対象から除外してくれるので非常に便利ですよ^^
使い方は、次の記事で詳しく解説しているので、ぜひ参考にしてください。