Excel 公式 - 通过忽略另一列中的重复值来聚合行
Excel Formula - Aggregate rows by ignoring duplicated values in another column
我有一个 table 如下:
我想通过基于 ID
和 Code
列的累加和来填充 Aggregate
列。有些行有重复的值,比如第 2 行和第 4 行、第 3 行和第 5 行等。这样我就可以显示 ID 1 有 2 个唯一代码,ID 2 有 3 个唯一代码等。
我试过这个公式,但它没有产生我想要的结果。
=COUNTIFS($B:B2,B2,$A:A2,A2)
我想要的输出如下:
在 Office 365 中使用 FILTER,将其放入 C2 并向下复制:
=@FILTER($C:C1,($A:A1=A2)*($B:B1=B2),MAXIFS($C:C1,$A:A1,A2)+1)
如果没有 Office 365:
=IFERROR(INDEX($C:C1,AGGREGATE(15,7,ROW($C:C1)/(($A:A1=A2)*($B:B1=B2)),1)),IFERROR(AGGREGATE(14,7,$C:C1/($A:A1=A2),1),0)+1)
你也可以试试下面的公式-
=XMATCH(A2&B2,UNIQUE(FILTER($A:$A&$B:$B,$A:$A=A2)),0)
我有一个 table 如下:
我想通过基于 ID
和 Code
列的累加和来填充 Aggregate
列。有些行有重复的值,比如第 2 行和第 4 行、第 3 行和第 5 行等。这样我就可以显示 ID 1 有 2 个唯一代码,ID 2 有 3 个唯一代码等。
我试过这个公式,但它没有产生我想要的结果。
=COUNTIFS($B:B2,B2,$A:A2,A2)
我想要的输出如下:
在 Office 365 中使用 FILTER,将其放入 C2 并向下复制:
=@FILTER($C:C1,($A:A1=A2)*($B:B1=B2),MAXIFS($C:C1,$A:A1,A2)+1)
如果没有 Office 365:
=IFERROR(INDEX($C:C1,AGGREGATE(15,7,ROW($C:C1)/(($A:A1=A2)*($B:B1=B2)),1)),IFERROR(AGGREGATE(14,7,$C:C1/($A:A1=A2),1),0)+1)
你也可以试试下面的公式-
=XMATCH(A2&B2,UNIQUE(FILTER($A:$A&$B:$B,$A:$A=A2)),0)