Поиск листов по условному выделению цвета - PullRequest
0 голосов
/ 26 апреля 2020

Можно ли проверить цвет условного выделения ячейки и действовать соответствующим образом?

У меня есть список Имен, где некоторые люди принадлежат к команде "Желтый", а некоторые к команде "Розовый". Желтая команда получает больше очков в зависимости от своего уровня (ячейка B3).

Что касается прикрепленных снимков экрана, я не могу понять, как направить поиск к соответствующему столбцу точек на уровне в «Листе 2» относительно выбранного имени. Условное выделение (см. Скриншот) устанавливает цвет ячейки в соответствии с именем, введенным в ячейку B2.

Ячейка B6 содержит следующую формулу: =vlookup(B3,Sheet2!A1:E11,match(B2,Sheet2!A1:E1,0),)

Формула работала, когда в справочной таблице был столбец Б назван как "Боб", но это не то, что я хочу. Я хочу, чтобы формула B6 поняла, к какой цветовой команде относится имя B2, и выберу соответствующий набор данных в «Листе 2».

Sheet1

Sheet2 reference data

Conditional Highlight parameters

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

Ответы [ 2 ]

2 голосов
/ 26 апреля 2020

Нет прямого способа сделать это. Возможно, вы захотите использовать функцию getBackground() в скрипте Google Apps, но я не думаю, что в этом случае стоит использовать скрипты. Это означало бы сделать вещь более сложной и менее обслуживаемой.

Самый простой способ добиться этого - использовать вспомогательную ячейку.

enter image description here

Вам понадобятся две команды, перечисленные в двух столбцах. Для простоты я предполагаю, что два диапазона E2: E30 для желтых имен и F2: F30 для розовых имен

Добавить Цвет в ячейку A4 и следующую формулу в B4:

=IF(ISERROR(MATCH(B2,E2:E30,0)),IF(ISERROR(MATCH(B2,F2:F30,0)),"No color","Pink"),"Yellow")

Затем вы можете использовать результат ячейки B4 для VLOOKUP в ячейке B6.

Дополнительным преимуществом является то, что вам не понадобится так много правил условного форматирования: вы можно просто сравнить цвет в B4 и назначить правило условного форматирования соответственно в B2. Это намного удобнее в обслуживании и менее подвержено ошибкам.

1 голос
/ 26 апреля 2020

Использование Named Ranges для условного форматирования (без сценария, без вспомогательной ячейки)

Поскольку Отличное предложение Франческо по использованию формул вместо сценария - ваш выбор, вы также можете попробовать следующий.

  • Превратите диапазоны вашей команды в именованные диапазоны (перейдя на Data >> Named Ranges из главного меню) и имя например, yellow и PINK

  • Применить условное форматирование к проверенным ячейкам данных (B3:E3) от используя эти две формулы (под Custom formula is в конце Conditional formatting rules) :

=REGEXMATCH(B3,""&JOIN("|",FILTER(INDIRECT("yellow"),INDIRECT("yellow")<>""))&"") и

=REGEXMATCH(B3,""&JOIN("|",FILTER(INDIRECT("PINK"),INDIRECT("PINK")<>""))&"")

(Убедитесь, что вы настраиваете диапазоны в соответствии с вашими данными)

Преимущества:

  1. Ваши исходные ячейки имеют цветовую кодировку .

  2. Named Ranges можно разместить в любом месте , на любой вкладке и может расти в соответствии с вашими потребностями.

  3. Вам не нужна дополнительная вспомогательная ячейка .

imageNamed Ranges for conditional formatting">

Запишите:

  • Мы Для работы функции необходимо использовать INDIRECT при использовании именованных диапазонов с условным форматированием.
  • Мы также должны окружить указанный диапазон двойными кавычками "". Итак, для обозначения именованного диапазона yellow мы используем INDIRECT("yellow).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...