Googleスプレッドシートで連番を自動入力:オートフィルを使わず効率化

Googleスプレッドシートで連番を振るにはオートフィルを使えば簡単にできます。
ですが、連番の数が多いとドラッグするのが大変で、効率も悪くなってしまいます。
そこで、この記事ではシークエンス関数(SEQUENCE関数)を使って連番を自動入力する方法をご紹介します。
また、併せて特定のセルにデータがある行だけに連番を振る方法(空白セルを無視)もご紹介します。
用途に応じた方法を選ぶことで、スプレッドシートの作業を効率化できます。

シンプルに連番を振る方法(SEQUENCE関数)

シークエンス関数(SEQUENCE関数)は、指定した行数・列数で連番を自動生成する関数です。
開始の番号や増加させる値も指定でき、オートフィルなしで簡単に連番を入力できます。
1000行でも一瞬で作れるため、連番の数が多い時に便利です。
数式の構文
=SEQUENCE(行数, 列数, 開始値, 増分)
数式の説明
行数
:生成する行の数(例:100行)列数
:生成する列の数(例:100列)開始値
:最初の値(例:1)増分
:増加する値(例:1)
例えば、A列に1~100までの連番を入力したい場合は、以下の数式となります。
シークエンス関数で連番を振る数式
=SEQUENCE(100, 1, 1, 1)


A1セル に入力するだけで、A列に1から100までの連番が自動で入力 されます。
(参考):連番を列方向(横)に展開する場合

以下のように数式を入力します。
=SEQUENCE(1, 100, 1, 1)
空白セルを無視して連番を振る方法(ARRAYFORMULA関数を活用)

- B列にデータがある行だけ、A列に連番を振る
- B列が空白の行では、A列も空白にする
シークエンス関数(SEQUENCE関数)の弱点は、「すべての行に連番を振ることしかできない」こと。
そのため、B列にデータがある行だけA列に連番を振りたい場合などは、アレイフォーミュラ関数(ARRAYFORMULA関数)が便利です。
(空白セルを無視して連番を振る場合)
空白セルを無視して連番を振る数式
=ARRAYFORMULA(IF(B:B="", "", COUNTIFS(B$1:B, "<>", ROW(B$1:B), "<="&ROW(B:B))))
数式の説明
ARRAYFORMULA(...)
:複数のセルに一括で計算を適用IF(B:B="", "", ...)
:B列が空白ならA列も空白にするCOUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2)
B$1:B, "<>"
:B列の空白でないセルをカウントROW(B$1:B), "<="&ROW(B:B)
:現在の行までの行数をカウント



B列にデータがある行だけに、1 から順に連番が振られます。

B列のデータが増減しても、自動で連番が調整されるので便利です。
アレイフォーミュラを使わずに、空白セルを無視して連番を振る方法
連番の数が少なく、アレイフォーミュラ関数を使うほどでもない場合は、COUNTIF関数を活用します。
この場合は、各セルに対して数式を入力する必要があります。
A1セルに入力する場合
=IF(B1<>"", COUNTIF($B$1:B1, "<>"), "")
A2セルに入力する場合
=IF(B2<>"", COUNTIF($B$1:B2, "<>"), "")
数式の説明
IF(B2<>"", ..., "")
:B列が空白ならA列も空白にするCOUNTIF($B$1:B1, "<>")
:非空白セルの数をカウント (数式をドラッグしてコピーすると、COUNTIF($B$1:B2, "<>")
のように変更されます。)




B列にデータがある行だけに、1 から順に連番が振られます。
アレイフォーミュラ関数を使用した時と同様に、B列のデータが増減しても自動で連番が調整されます。
まとめ
今回の記事では、Googleスプレッドシートで連番を振る方法をご紹介しました。
- オートフィル不要で、SEQUENCE関数を使う方法
- 空白セルを無視して連番を振る方法(アレイフォーミュラ)
数の多い連番を振りたい時、空白を無視した連番を振りたい時にご活用ください。
弊社では、Google Apps Script(GAS)を活用した業務効率化のサポートを提供しております。
GASのカスタマイズやエラー対応にお困りの際は、ぜひお気軽にご相談ください。
また、ITツールの導入支援やIT導入補助金の申請サポートも行っております。
貴方の業務改善を全力でサポートいたします。
コメント