googleのスプレッドシートを利用していると列や行に番号を振りたくなることは多いと思います。 今回は単純に番号を振っていく方法と、途中の行やセルを消去しても連番が保たれる関数を利用した方法の二つのやり方について説明していきます。
単純に連番をふる
単純に連番をふりたい場合は既に入力済みの範囲を選択した状態で引き伸ばしたい方向のコーナーの上でクリックしたまま引き伸ばすことで、自動的に入力することができます。
この自動的に入力される機能を『オートフィル』と呼びます。オートフィルに関しては別の記事で詳しく解説していますので合わせてご覧ください。
しかし、この方法で番号を振った場合、途中の行を削除した時に間の番号が抜けてしまいます。 試しに6行目が不要になったとして、行を削除してみると数字の4番が抜けてしまうのが確認できます。
これでは名簿などを作った時に、並び替えたり、削除したりと編集する度に番号を振り直さなくてはならないため、非効率です。そんな時に役立つのが関数を用いて連番を振っていく方法です。
関数を用いて連番を振っていく方法
スプレッドシートには、行番号や列番号を表示してくれるとても便利な関数があります。さらに、そこから任意の数値を引くこともできます。
行の場合(縦方向に連番)はROW関数を使い、任意の数値を引きます。
=ROW()-n
同じように列の場合(横方向に連番)はCOLUMN()を使い、任意の数値を引きます。
=COLUMN()-n
試しに入力してみましょう。
赤枠内を見ていただければわかるように条件式を入力しています。
三行目からナンバリングするため、ROWから2を引いています。
6行目を消した後も、番号が上から順番にふられているのがわかります。
数字の桁数を知りたいなど連番であることが大事な場合はこちらのほうが便利ですね。
関数を使いこなせばいろんなことが可能になります。
スプレッドシートの関数については別の記事で基本的なものを紹介しています。
範囲を指定して自動で連番が入るようにする
ROW関数やCOLUMN関数を使ってオートフィルを行うことで、途中で行や列が削除されても数値の飛ばない連番を振ることが可能になりましたが、何千行という行をスクロールしていくのは大変です。オートフィルを使わずに自動で入力されるARRAYFORMULA関数を組み合わせてみましょう。
A1のセルに下記のように入力すれば10000行まで自動で入力されます。
=ARRAYFORMULA(ROW(A1:A10000))
3行目から1〜10000までの連番が自動で入力されるようにするには、上の行数分マイナスして、範囲をずらしてやればいいだけです。
=ARRAYFORMULA(ROW(A3:A10003)-2)
まとめ
スプレッドシートで連番を振る方法について解説してきました。名簿やリストなどを作成する時には連番を振りたくなることも多いので必ず覚えておきたいテクニックですね。
スプレッドシートの使い方については下記の記事でまとめていますので併せてお読みください。