В качестве формулы вы можете просто попробовать:
=IF(SUM(--ISNUMBER(SEARCH({567;676;342},B:B)))>0,"Traction","")
Мы должны использовать точку с запятой для оценки каждого элемента в массиве по всем значениям в диапазоне B:B
.
Примечание 1: Это формула CSE
, которую необходимо ввести с помощью Ctrl Shifter Введите
Примечание 2: Если это действительно продолжение вашего предыдущего вопроса, вам нужно будет ввести его следующим образом:
<YourInputRange>.FormulaArray = "=IF(SUM(--ISNUMBER(SEARCH({""567"";""676"";""342""},B:B)))>0,""Traction"","""")"
Или, в зависимости от вашего Locale
:
<YourInputRange>.FormulaArray = "=IF(SUM(--ISNUMBER(SEARCH({""567"",""676"",""342""},B:B)))>0,""Traction"","""")"
Примечание 3: Согласно моему предыдущему ответу, вы сравниваете целые столбцы в формуле массива. Имейте в виду, что это повлияет на вашу производительность. Я бы посоветовал вам следующий шаг - получить динамические c Range
объекты.
EDIT
Небольшое объяснение того, почему нам нужно TRANSPOSE
значения в столбце B:B
ИЛИ в нашем массиве. Давайте представим некоторые примеры данных В B1:B3
:
Давайте сосредоточимся на нашей формуле; IF(SUM(--ISNUMBER(SEARCH({567,676,342},B1:B3)))>0,"Traction","")
. Обратите внимание, как мы сейчас сравниваем два вертикальных диапазона. Таким образом, в основном то, что мы просим, формула может выглядеть так:
>
Ответ трижды отрицательный! Таким образом, в этом случае результат будет ""
.
Теперь давайте сравним вертикальный массив с горизонтальным, наша формула теперь выглядит так: =IF(SUM(--ISNUMBER(SEARCH({567;676;342},B1:B3)))>0,"Traction","")
, чтобы визуализировать это, вы можете подумать о матрице:
В нашей матрице есть одно положительное совпадение! Теперь, поскольку это сравнивает два массива, нам нужно CSE
формула. И именно поэтому у нас скорее есть указанный диапазон, например B1:B3
, вместо полной ссылки на столбец.