如何更改 arrayformula() 中 countif() 的范围?
How can I change the range of countif() inside an arrayformula()?
我想查找在当前行之后发生的重复项。我可以使用此公式找到在任何地方发生的重复项,但我不想将最后一次出现的特定值标记为重复项。
=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"), "")))
尝试:
={"Duplicate"; ARRAYFORMULA(IF(INDIRECT("A"&ROW()+1&":A")<>"",
IF(COUNTIF(INDIRECT("A"&ROW()+1&":A"), INDIRECT("A"&ROW()+1&":A")) > 1, "Yes", "No"), ))}
更新:
={"Duplicate";
ARRAYFORMULA(IF(A2:A="",,
IF(COUNTIFS(A2:A, A2:A, ROW(A2:A), ">="&ROW(A2:A))>1, "Yes", "No")))}
我想查找在当前行之后发生的重复项。我可以使用此公式找到在任何地方发生的重复项,但我不想将最后一次出现的特定值标记为重复项。
=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"), "")))
尝试:
={"Duplicate"; ARRAYFORMULA(IF(INDIRECT("A"&ROW()+1&":A")<>"",
IF(COUNTIF(INDIRECT("A"&ROW()+1&":A"), INDIRECT("A"&ROW()+1&":A")) > 1, "Yes", "No"), ))}
更新:
={"Duplicate";
ARRAYFORMULA(IF(A2:A="",,
IF(COUNTIFS(A2:A, A2:A, ROW(A2:A), ">="&ROW(A2:A))>1, "Yes", "No")))}