スプレッドシートで行や列に番号(連番)を振る方法

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)

まとめ

いかがだったでしょうか。
名簿やリストなどを作成する時には連番を振りたくなることも多いので必ず覚えておきたいテクニックですね。 他にもスプレッドシートのテクニックを紹介していますので良かったら合わせてご覧ください。