Googleスプレッドシートでは連番をふるための関数というのが長らく存在せず、ROW関数などで代用されていましたが、現在ではSEQUENCE関数が実装されており簡単に連番を生成することができます。
- SEQUENCE関数により任意の初期値、差分を持った連番(数列)を生成することができます。
- 複数の行、列にわたって連番をふることもでき、ARRAYFORMULA関数との組み合わせによりループ処理も可能となります。
手順
B2セルに「=SEQUENCE(5)」と入力します。
いとも簡単に1から5までの数列が生成されました。
SEQUENCE関数では最大4つの引数が指定できます。順番に行数、列数、初期値(初項。最初の数字)、差分(公差。増分)です。
ここでは「=SEQUENCE(4,3,5,2)」と入力してみます。
行数が4、列数が3、初項が5、差分が2の行列が生成されました。
単に数列を表示するだけではさほど芸がありませんが、この関数が重要なのはある種のループ処理を実現できるためです。
例としてB2セルに記録された文字列に対し、B4セルに次のように入力してみます。
=ARRAYFORMULA(MID(B2,SEQUENCE(3,5),1))
文字列を1文字ずつ区切って行列状に出力することができました。
MID関数の第2引数(○文字目から)をSEQUENCE関数とARRAFORMULA関数により一括して与えることができたからです。
手動で1つ1つ式を入力して文字列を分割するのは面倒ですが、このようにして繰り返しの手間を省略することができます。