テーブルに通し番号

テーブルの指定列に、通し番号を付すお話。
f:id:Infoment:20200712220709p:plain

例えば、↓こんなテーブルがあるとする。
f:id:Infoment:20200712220915p:plain

A列を通し番号にしたいとき、皆さんはどうしているだろうか。
私の知る限り、方法は大別して二つ(というほど大層な話じゃない)。

  1. ベタ打ち
  2. 関数で表示

ベタ打ちは、とにかく番号を一つずつ入力する。
或いは、連続データでお手軽に入力してもいい。
f:id:Infoment:20200712221231g:plain
ベタ打ちの悲しさ、途中に行の増減があった場合、全て手作業での修正を要す。


一方、関数で表示する場合、まず「一つ上に1加える」が意外と使えない。
f:id:Infoment:20200712221428p:plain

なぜなら一行目の一つ上はラベル行であるため、一行目だけは数式ではなく数値である必要があるから。つまり、同じ列の中に数式と数値が混在するわけで。結果、行の増減に値が追従しなくなってしまう。
f:id:Infoment:20200712221648g:plain
何より、レコード間に相関関係があるというのが、何となく落ち着かない。

ということで、今まではROW関数一択だった。
f:id:Infoment:20200712221823p:plain

しかしこの方法も、欠点がある。テーブルの開始位置に、通し番号が追従してしまうのだ。そのたびに、数式を修正しなければならない。
f:id:Infoment:20200712222029g:plain

不便だなと思いつつ、ずっと我慢してきた。
ところが先日、これを解決する良い方法を教わった。
方法は至ってシンプル、セルの行番号からラベルの行番号を引くだけというもの。
f:id:Infoment:20200712222320g:plain

これは、目から鱗だった。お勧めです。

参考まで。