Условное форматирование Excel, соответствующее тексту в другой ячейке, которая может также включать другой текст

Условное форматирование Excel, соответствующее тексту в другой ячейке, которая может также включать другой текст

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

Я включилСкриншотиз моих 2 листов, с которых я работаю. Верхний лист — это , draft poolа нижний — это drafted.

Я пытаюсь сделать условное форматирование, которое выделяет игроков в draft poolтаблице, которые появляются на draftedлисте. Проблема, с которой я сталкиваюсь, заключается в том, как сайт, который мы используем для драфта, предоставляет эту информацию.

В ячейке столбца E draftedуказана позиция игрока перед его именем, и я не уверен, что существует формула, которая применит условное форматирование, если имя игрока в столбце B draft poolнаходится в столбце E, draftedпоскольку она включает дополнительный текст перед фактическим именем, которое я пытаюсь сопоставить.

решение1

Вы можете использовать FIND()или SEARCH()в диапазоне, охватываемом потенциальным числом «выбранных» записей. (В лучшем случае это семь раундов, 32 команды, возможно, потенциальный дополнительный номер или два по какой-то странной причине, так что не такой уж большой диапазон, чтобы не использовать его для чего-то еще.)

Если кто-либо из них найдет имя в любой из ячеек диапазона, будет возвращено положительное значение. Если нет, будут возвращены ошибки, которые будут доминировать и вернут общую ошибку. Поэтому используйте IFERROR(), с if so возвратом "0", и вы защищены. SUM()возвращаемые результаты и если это значение НЕ 0 (т.е.: <>0 ), то указанное имя ПРИСУТСТВУЕТ. Обратите внимание, что входные данные могут быть полным именем, поэтому все люди "Johnson" могут быть дифференцированы.

Формула для этого может выглядеть так:

=IF(SUM(IFERROR(FIND("Trachtenberg",A1:A3),0))<>0,"Drafted Already","Available")

хотя это будет на стороне ячейки, как проверка по какой-то другой причине. Для использования в условном форматировании вам нужно поместить его в форму ИСТИНА-ЛОЖЬ, а не в строгую форму IF-THEN-ELSE выше:

=SUM(IFERROR(FIND("Trachtenberg",A1:A3),0))<>0

дает ситуацию ИСТИНА-ЛОЖЬ, давая ИСТИНА, если присутствует в уже составленном диапазоне. Поскольку это ИСТИНА, форматирование будет активировано, как и требовалось. (Должен признать, что это кажется мне обратным, навскидку, потому что я ожидал, что все доступные будут отмечены, а не наоборот, но я не исследую общую логику, просто говорю, что отметка ушедших кажется странной. Другая естественная мысль — отформатировать их так, чтобы они исчезли, показались пробелы, и, возможно, вы имеете это в виду. Извините, просто показалось странным.)

Если у вас есть SPILLфункциональность, она работает как есть в версии IF-THEN-ELSE. Без нее? Используйте {CSE}. Нет хорошего способа использовать {CSE} внутри условного форматирования (или именованных диапазонов, если на то пошло). Однако вы можете настроить столбец формул, используя версию TRUE-FALSE, которая по одному выдает имена пулов черновиков, в результате чего получается ряд значений TRUE или FALSE. Формула CF TRUE-FALSE тогда может быть примерно такой:

=SUM(IFERROR(A1:A230,0))<>0

что аналогично тому, как можно обойти функции, которые не могут работать в закрытых электронных таблицах. Я вижу ваш тег Excel-2016, так что, возможно, это будет иметь для вас значение. Чтобы скрыть магию, если это важно для вашего приложения, вы можете поместить именованный диапазон в середину с частью, IFERROR(A1:A230,0)чтобы у вас могло быть что-то видимое миру, например:

=SUM(DraftedAlready)<>0

Связанный контент