無料でExcel並み!Google スプレッドシートの使い方

1,000行あっても大丈夫! 自動連番で行の追加・削除にも対応できるスプシの連番テクニックまとめ

ドラッグしないで連番を振る

 数字の連番を振る場合どうしていますか?「1」「2」と入力してから下方向へドラッグするのもいいですが、数十行以上になってくると辛いですよね。また、行を追加・削除したときに連番を振り直すのも無駄な作業です。今回はスプレッドシートで使える数字の連番テクニックを3つ紹介します。

❶入力済みのデータ範囲に連番を振る

 いつもと同じように「1」「2」と入力しておきます。セルの右下に表示されている■をダブルクリックするだけで連番を入力可能です。ただし、左右どちらかの列にデータが入力されていないとこのテクニックは使えません。また、左右の列のデータが連続するところまで、つまり空白の手前までで連番は止まります。すでにリストがある状態で「No列」などを追加したいときに有効ですね。

「1」「2」と入力しておく。セルの右下の■をダブルクリックする
連番が入力された

❷行を追加・削除しても自動的に連番を振る

 今度は自動的に連番を振るためにROW関数を使ってみましょう。ROW関数は指定したセルの行番号を取得できる関数です。例えば「=ROW(A2)」なら結果は「2」となります。セルの指定を省略して「=ROW()」とすれば、ROW関数が入力されているセルの行番号が表示されます。ここでは、A2を開始位置として「1」から連番を振り、関数式をコピーしたいので「=ROW()-1」と入力します。

A2に「=ROW()-1」「2」と入力する
A2のセルの右下の■をダブルクリックして関数式をコピーすると連番が自動的に振られる

 ROW関数で行番号を取得しているため、行を追加・削除しても自動的に連番が振り直されます。試しに8-10行目を削除してみます。

8-10行を選択して右クリックし、[行8-10を削除]を選択する
行が削除された。8-10行目に連番が振り直されていることがわかる。

❸大量の連番を振る

 続けて、A2から100行分連番を振ってみます。指定した行数まで連番を振るには、ARRAYFORMULA関数が便利です。ARRAYFORMULA関数は、1つの数式の結果を複数の範囲に展開できます。連番を入力する関数式は「=ARRAYFORMULA(ROW(A2:A101)-1)」となります。ROW関数の結果をA2からA101まで表示することになります。2行目から「1」を振りたいので「-1」しています。例えば「A2:A1001」とすれば1,000行分連番を振ることが可能です。

A2に「=ARRAYFORMULA(ROW(A2:A101)-1)」と入力する
100行分の連番が振られた

 ARRAYFORMULA関数の結果が、A2:A101の範囲に展開されている状態です。連番を値に変換するには、いったんコピーして右クリックし、[特殊貼り付け]-[値のみ貼り付け]で貼り付けておきます。

データ範囲を選択してコピーし、右クリック-[特殊貼り付け]-[値のみ貼り付け]で貼り付けておく

 なお、ARRAYFORMULA関数の結果を展開するセル範囲(ここでは、A2:A101)にデータが入力されている場合はエラーとなります。あらかじめデータを削除しておきましょう。

ARRAYFORMULA関数の結果を展開するセル範囲(ここでは、A2:A101)にデータがあるとエラーとなる