Excel の番号の賢い振り方

2021年3月17日

概要

Excel を使っていると、以下の画像のように順番に番号を振っていかなければいけないケースが結構ある。

特に、テストケースとかだと間に新しいケースが追加されたり、削除されたり、間に空白行が入ったりするなどしてメンテナンスが結構大変だったりする。

その賢い振り方のメモ書き

追記。右下にカーソルをあわせ十字架をダブルクリックすれば勝手に引っ張られるよ!

方法1 単純に数字を入れて、引っ張る

最もシンプルと思われる。

番号を複数個入れて、それらを選択し、右下にカーソルを合わせてドラッグすると数字が自動で増えて振られる。文にするとややこしいが、一般的にやられてそうなやり方

ダブルクリックでも同様

メリット

この方法のメリットは簡単にすぐできること

デメリット

デメリットは、メンテナンスが結構大変になること

たとえば、1000番まであって、500番と501番の間に新しく何かが増えたときには、再度作業をやり直さなければならず、何度もやっていると番号がめちゃくちゃになっていることがよくある

方法2 row() を使う

A2のセルから番号が始まる場合は、A2のセルに

=ROW()-1

と入力する

それを選択してドラッグ(またはダブルクリック)することで、番号を入れていく方法

メリット

比較的簡単にでき、覚えやすい

デメリット

連続している場合はいいが、途中に番号を入れたくない行ができたりした場合などに、法則性が崩れてしまう

方法3 上のセル + 1

画像のようにA2のセルに1が入っている状態で、A3に

=$A2 + 1

と入力する

それを選択してドラッグ(またはダブルクリック)することで、番号を入れていく方法

メリット

比較的簡単にでき、覚えやすい

途中に新たな行を追加する場合に、空白行の挿入には対応できる

デメリット

行をコピーして、コピーした行の挿入をするとおかしくなる

方法4 MAXを使う

画像のようにA2のセルに1が入っている状態で、A3に

=MAX($A$2:$A2)+1

と入力する

それを選択してドラッグ(またはダブルクリック)することで、番号を入れていく方法

メリット

自分より上のセルの最大値 + 1 となるので、後から行が増えたり消えたり、空白の行が入ったりしたときにも、数字が狂いにくい

デメリット

セルの座標を使うためそこそこ見づらいのと、コピペでは使えない

方法5 INDIRECT を使う

下記の式を使う方法

=MAX(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN())))+1

詳しい解説は以下のサイトなどがわかりやすい

メリット

数式にアドレスが出てこないのでコピペで使える

後から行が増えたり消えたり、空白の行が入ったりしたときにも、数字が狂いにくい

デメリット

長いので、ほぼ覚えられない

結論

個人的にはINDIRECT の式をどこかにメモしておいて、これを使うのが一番好ましいとは思う。

数が多くなかったり、何度も変更したりしない場合には row() を使う方法とかで事足りることも多いと思う

なお、INDIRECT を使っても、 6と7 の間に 6.1 とかが増えた場合にはこのままだと対応できない(;・∀・)

ちなみに、この番号はもう変更したくないとなった場合には、コピーして、数値として貼り付ければただの数字になるので、それも活用したほうが良い(゚д゚)