Разъяснение того, как =countif(A:A,A1)>0 работает как правило условного форматирования

#google-sheets #conditional-formatting

#google-sheets #условное форматирование

Вопрос:

Все, что я прочитал, говорит о том, что функция countif работает как =countif(диапазон, критерии). Похоже, это работает таким образом в самом листе, но я не понимаю, как это работает как пользовательская формула в условном форматировании.

Я ввожу =countif(A:A, A1)>1 в качестве пользовательской формулы, применяемой к диапазону A:A.

Предполагая, что в столбце A находятся следующие значения:

5
10
23
54
6
65
10
65

Выделены значения 10 и 65, что является желаемым результатом. Но поскольку я указал A1 в качестве критерия (который содержит значение 5), не следует ли не выделять все поля, поскольку есть только 1 поле со значением 5?

Чего мне не хватает?

Ответ №1:

A1 in =COUNTIF(A:A, A1)>1 не заблокирован, A$1 поэтому он повторяется по всему указанному диапазону. другими словами, он выполняется:

 =COUNTIF(A:A, A1)>1
 

и затем это продолжается как:

 =COUNTIF(A:A, A1)>1
=COUNTIF(A:A, A2)>1
=COUNTIF(A:A, A3)>1
...
 

преимущество пользовательских формул в том, что они могут выполнять итерацию по всему диапазону

Комментарии:

1. Спасибо! это очень полезно. тем не менее, я поиграл с формулой, и если я изменю A1 на что-то вроде A8, он начнет выделять, казалось бы, случайные ячейки. есть идеи, почему это так? imgur.com/WHfZmTK

2. @enterprised1 поскольку вы используете A8 в формуле, применяемой к A1:... , она выделяет ячейки в зависимости от того, является ли ячейка на 7 строк ниже дубликатом.

3. это то, что я тоже предполагал, но на скриншоте выделены 3, 6 и 32, и ни у одного из них нет дубликатов…

4. @enterprised1 неправильное использование формулы всегда приведет к бессмысленным нежелательным результатам. если вы хотите использовать A8, вам следует применить его к диапазону A8:A

5. @enterprised1 выделены 3, 6 и 32, и ни у одного из них нет дубликатов, но ячейки на 7 строк ниже от них содержат 5, 10 и 45.