Excel関数で項番をつけたいと思ったときに脳死でコピペできる関数を用意しました。
1:行に連続した項番を付ける場合
自セル完結型のため、どこにコピペしても使え、循環参照や式エラー、関数自体の修正が一切不要です。
=IFERROR(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)+1,1)
例)関数をB2,B3,B5セルに入力するとこうなる。
# | A | B | C |
---|---|---|---|
1 | |||
2 | 1 | ||
3 | 2 | ||
4 | |||
5 | 1 |
2:連続していない行に項番を付ける場合
たまに縦にセル結合しているがゆえ、連続して項番をつけられないときがありますね。
※そういう表の作り自体が悪いことは置いといて…
行を飛ばしたい場合は、ちょっと長い関数になります。
=MAX(INDIRECT(CELL("address",OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),(ROW(INDIRECT(ADDRESS(ROW(),COLUMN())))-1)*-1,0))&":"&CELL("address",OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0))))+1
例)関数をB2,B3,B5セルに入力するとこうなる。
# | A | B | C |
---|---|---|---|
1 | |||
2 | 1 | ||
3 | 2 | ||
4 | |||
5 | 3 |
IF文を使い、他のセルの状態に合わせた条件を追加すれば、オートフィルなどで手軽に利用できるかと思います。
参考になれば幸いです。