ARRAYFORMULA 从上一行自动递增,但当产品更改时从 1 重新开始

问题描述 投票:0回答:1

我正在尝试为该行上的产品的每一行分配一个序列号。因此,对于产品 101,我将有 101-1、101-2、101-3... 等。对于产品 102,它应该从 1 重新启动计数器,所以我得到 102-1、102-1、102- 3...

我首先尝试使用 arrayformula() 来比较当前的产品 ID 和上一行,如果相同则序列号应该是上一个序列号 + 1,否则从 1 开始。但是 arrayformula 似乎无法比较上一行的值到当前单元格。然后我尝试使用row(),但无法重置序列号。

=ARRAYFORMULA(IF(A2:A="", "",IF(A2:A=A1:A, ROW(A2:A) - ROW(A2) + 1,1))

spreadsheet screenshot

请参阅电子表格: 电子表格链接

google-sheets
1个回答
0
投票

您可以尝试:

=scan(,A2:index(A:A,match(,0/(A:A<>""))),lambda(a,c,if(c<>offset(c,-1,),1,a+1)))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.