なんとなく思いついたので、備忘録として残しておきます。数式を使って、縦に並んだデータにグループごとの連番を振る方法を考えてみました。データはグループ列でソートされている前提です。というかそうしておかないと、何がなんだか分からなくなります。
=LET(
_a,DROP(TOCOL(B:B,1),1),
_b,VSTACK("",DROP(_a,-1)),
_c,SCAN(0,_a=_b,LAMBDA(x,y,x*y+1)),
_c
)
REDUCE関数であっさりできそうな気もしたんですが、そっちはうまくいきませんでした。
=DROP(
REDUCE(
{"",0},
DROP(TOCOL(B:B,1),1),
LAMBDA(x,y,VSTACK(x,HSTACK(y,IF(TAKE(x,-1,1)=y,TAKE(x,-1,-1)+1,1))))
),
1
)
さすがにこれはないですね。