Условно форматировать ячейки с совпадающим текстом, если в Google Таблицах установлен флажок

Как применить условное форматирование с помощью настраиваемой формулы, в которой в качестве критерия используются текст И флажок?

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

Желаемый результат:

введите здесь описание изображения

Я могу добиться правильного выделения без флажка, если использую следующую формулу в поле «Пользовательская формула» условного форматирования: =countif(B2,"Paul")

Но я хочу активировать этот код, только если D3=TRUE

Я попробовал =IF(D3=TRUE,countif(B2:C11,"Paul")). Это формула, которая работает в ячейке (возвращает число 8) ... но при вводе в поле «Пользовательская формула» выделяется только одна ячейка (B2).

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

Я счастлив установить разные правила форматирования для каждого имени, если только не было формулы HLOOKUP, которая работала бы динамически!


person Farmer Greif    schedule 15.09.2019    source источник


Ответы (1)


вам нужно заблокировать D3 следующим образом:

=COUNTIF(B2,"Paul")*($D$3=TRUE)

0


или вы можете использовать COUNTIFS как:

=COUNTIFS(B2,"Paul",$D$3,TRUE)

0


или используйте только это:

=(B2="Paul")*($D$3=TRUE)

0


или даже так:

=IF(($D$3=TRUE)*(COUNTIF(B2,"Paul")),1)
person player0    schedule 15.09.2019
comment
Да, да и да! Спасибо! - person Farmer Greif; 15.09.2019
comment
Вы знаете, ПОЧЕМУ мое исходное решение не сработало (кроме блокировки $)? Ограничены ли настраиваемые формулы в поле условного форматирования до COUNTIFS? - person Farmer Greif; 16.09.2019
comment
ну, как показано на изображениях из ответа, он вообще не ограничивается СЧЁТЕСЛИ. если вы хотите использовать оператор IF, вам нужно будет сделать это следующим образом: =IF(($D$3=TRUE)*(COUNTIF(B2,"Paul")),1) - например, вам нужно, чтобы критерии были логическими, а не результатом чего-либо. Таким образом, эта формула переводится как ЕСЛИ (ИСТИНА * ИСТИНА сделать ИСТИНА (цвет), что переводится как: ЕСЛИ (1 * 1 = 1 сделать цвет. умножение - это буквально функция И. у вас было: ЕСЛИ (ИСТИНА сделать результат (счет) - вот почему это не сработало - person player0; 16.09.2019
comment
также имейте в виду, что все, что помещено в условное форматирование, действует как ArrayFormula, если оно не заморожено с помощью $. поэтому, если вы используете =IF($D$3=TRUE,COUNTIF(B2,"Paul")) в диапазоне B2: C, он заморозит ссылку D3, указывающую только на конкретную ячейку, но B2 не заблокирован, например. он действует как формула массива, например. как только вычисляется B2, формула переходит на C2, затем на B3, затем на C3 и так далее. так что он как бы прыгает по каждой ячейке в заданном диапазоне. наличие B2: C11 (как и у вас) сбивает с толку условное форматирование для оценки, потому что он будет обрабатывать весь диапазон по критериям, например, он не будет переходить от ячейки к ячейке - person player0; 16.09.2019
comment
Отличные объяснения. Спасибо за рыбу, тогда урок рыбалки! - person Farmer Greif; 16.09.2019