Как я могу изменить диапазон countif () внутри arrayformula ()? - PullRequest
1 голос
/ 31 января 2020

Я хочу найти дубликаты, которые появляются после текущей строки. Я могу найти дубликаты, которые встречаются где угодно с этой формулой, но я не хочу отмечать последнее вхождение определенного значения как дубликат.

=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"), "")))

Я пытался использовать косвенные () и 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 Ответ

1 голос
/ 01 февраля 2020

попробовать:

={"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

...