【Excel】行が空いても、連番に採番する

Excel IT

初めに

仕事等でExcelを利用する際に、各行に1,2,3…のような連番を採番したいときが多々あります。
その時によく使うのが「ROW()関数」だと思います。

ただし、下記画像のように途中に行を空けて採番しようとすると、ROW()関数では行の位置から採番するため、1,3,9…のように数字が飛んでしまいます。
連番

本稿では、行が空いても、連番に採番するための数式を記載しておきます。

行が空いても、連番に採番する数式

下記数式を使うと、行が空いても、連番に採番してくれます。

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

処理の内容は下記のとおりです。

  1. ADDRESS(1, COLUMN()) は、現在の列の最初のセルのアドレスを生成します。
  2. ADDRESS(ROW()-1, COLUMN()) は、現在の行の一つ上のセルのアドレスを生成します。
  3. INDIRECT 関数は、生成されたアドレス範囲を参照し、その範囲内の値の最大値を取得します。
  4. 最後に、取得した最大値に 1 を加えます。

コメント