関数を使って連番を入力する
Googleスプレッドシートで表に連番を入力する方法として、前回の記事「Googleスプレッドシートでもできる、意外と簡単な「連番」を振る方法」では、オートフィルを使った方法を解説しました。今回は上級編として、関数を利用する方法を解説します。
Excelで表に連番を入力するためによく使われるROW関数を、Googleスプレッドシートでも利用できます。ROW関数はセルの行番号を求める機能を持ち、「=ROW()」と引数を付けずに入力すると、入力されたセルの行数を返します。
実際の行番号とはずれた数値を利用したい場合、例えば、以下のように3行目を「1」にしたい場合は「=RAW()-2」と入力します。
セルA3に「=RAW()-2」と入力すると、3(行番号)-2で「1」が返されます。
このROW関数をコピーすれば、連番を表示できます。なお、ROW関数はセルの行番号を表示しているため、データを並べ替えても番号は常に行番号を反映していることに注意が必要です。データを入れ替えても番号はそのままにしたい場合には、前回の記事で解説した方法を使い、オートフィルで数値を入力します。
「=RAW()-2」を複数の行にコピーすると、行番号に応じた連番が作成できます。
ARRAYFORMULA関数を使えばコピー不要で連番作成
さらに応用編として、Excelにはない関数「ARRAYFORMULA」を使ってみましょう。ARRAYFORMULA関数は引数として入力した配列数式の結果を複数のセルに渡って返す、Excelのスピルに似た機能を実現する関数です。
ここでは配列数式の詳細な解説は省略しますが、ROW関数をコピーして作成した連番を、コピーなしで作成する方法を解説します。
▼ARRAYFORMULA関数のヘルプ
ARRAYFORMULA - ドキュメント エディタ ヘルプ
1ARRAYFORMULA関数を入力する
先ほど最初にROW関数を入力したセルA3に「ARRAYFORMULA(R0W(A3:A25)-2)」と入力します。セルA3からセルA25までの行番号を、それぞれ-2するという意味になります。関数の入力中に、値が表示されるセル範囲がオレンジの点線で囲まれていることに注目してください。
2連番を入力できた
ARRAYFORMULA関数の入力を完了すると、すべての行に連番が作成されました。
ARRAYFORMULA関数を利用するとコピーの必要がないため、何百行にもわたるような大きな表を扱う場合は便利です。なお、この方法でもROW関数で連番を作成しているため、データを入れ替えても番号は常に行番号を反映しています。番号ごと入れ替えたい場合は数値を入力、入れ替えたくない場合は関数を利用した連番と、使い分けましょう。