如何更改arrayformula()中countif()的范围?

时间:2020-01-31 19:57:29

标签: google-sheets google-sheets-formula array-formulas counting countif

我想找到在当前行之后发生的重复项。我可以找到使用此公式在任何地方发生的重复项,但是我不想将特定值的最后一次出现标记为重复项。

=arrayformula(if(row(B:B) = 1, "Duplicate", if(not(isblank(A:A)), if(countif(A:A, A:A) > 1, "Yes", "No"), "")))

如果我在查找范围内静态指定起始单元格,则只会在该位置之后找到重复项。但是,我需要根据所在行更改起点。

=arrayformula(if(row(B:B) = 1, "Duplicate", if(not(isblank(A:A)), if(countif(A5:A, A:A) > 1, "Yes", "No"), "")))

我尝试使用indirect()和row(),但似乎没有为每一行更新。

=arrayformula(if(row(B:B) = 1, "Duplicate", if(not(isblank(A:A)), if(countif(indirect("A"&row(B:B)&":A"), A:A) > 1, "Yes", "No"), "")))

1 个答案:

答案 0 :(得分:1)

尝试:

={"Duplicate"; ARRAYFORMULA(IF(INDIRECT("A"&ROW()+1&":A")<>"", 
 IF(COUNTIF(INDIRECT("A"&ROW()+1&":A"), INDIRECT("A"&ROW()+1&":A")) > 1, "Yes", "No"), ))}

0


更新:

={"Duplicate"; 
 ARRAYFORMULA(IF(A2:A="",,
 IF(COUNTIFS(A2:A, A2:A, ROW(A2:A), ">="&ROW(A2:A))>1, "Yes", "No")))}

0