每块重复

我有这个Excel表格的例子:

ABCD -------------- 1 | 1 a 1 x 2 | b 1 3 | c 2 4 | a 3 x 5 | 2 r 4 x 6 | r 4 x 7 | t 1 8 | 4 9 | 3 a 1 10| b 3 x 11| c 3 12| b 6 x 

我需要为每个块find重复项(在D列中标记为x),但仅在其自己的块的上下文中(在A1和A4之间find块 – 对于1,另一个块从A5到A8 – 为2,等等)。 B1 = a因为B9属于块3而B1属于块1,所以它不是重复的。但是B1对于B4是重复的,它们在同一个块上,因此B1和B4都应该用x标记。

我正在与dynamic测距/合成进行斗争:

基本上我需要在列D中find范围 (从D中的第一个非空字段开始,A中第一个不是空字段)。 例如:在D4中,我需要首先获得非空,A是A1,A中的第一个非空是A5,构造范围为A1:A5-1。

使用帮助列来避免使用数组公式:

在d2把:

 =IF(A2="",D1,A2) 

其中将填写缺less的列A值:

在这里输入图像说明

然后在E2:

 =IF(COUNTIFS(D:D,D2,B:B,B2)>1,"x","") 

在这里输入图像说明


如果你想要的数组公式:

 =IF(COUNTIF(INDEX(B:B,AGGREGATE(14,6,ROW($A$1:INDEX(A:A,ROW()))/($A$1:INDEX(A:A,ROW())<>""),1)):INDEX(B:B,IFERROR(AGGREGATE(15,6,ROW(INDEX(A:A,ROW()+1):INDEX(A:A,MATCH("zzz",B:B)))/(INDEX(A:A,ROW()+1):INDEX(A:A,MATCH("zzz",B:B))<>""),1)-1,MATCH("zzz",B:B))),B2)>1,"x","") 

在这里输入图像说明