初めに
仕事等でExcelを利用する際に、各行に1,2,3…のような連番を採番したいときが多々あります。
その時によく使うのが「ROW()関数」だと思います。
ただし、下記画像のように途中に行を空けて採番しようとすると、ROW()関数では行の位置から採番するため、1,3,9…のように数字が飛んでしまいます。
本稿では、行が空いても、連番に採番するための数式を記載しておきます。
行が空いても、連番に採番する数式
下記数式を使うと、行が空いても、連番に採番してくれます。
=MAX(INDIRECT(ADDRESS(1,COLUMN())&":"&ADDRESS(ROW()-1,COLUMN())))+1
処理の内容は下記のとおりです。
- ADDRESS(1, COLUMN()) は、現在の列の最初のセルのアドレスを生成します。
- ADDRESS(ROW()-1, COLUMN()) は、現在の行の一つ上のセルのアドレスを生成します。
- INDIRECT 関数は、生成されたアドレス範囲を参照し、その範囲内の値の最大値を取得します。
- 最後に、取得した最大値に 1 を加えます。
コメント