Предположим, у нас есть следующие данные ...
A1:A3
a
b
c
B1
oboe
В этом случае SEARCH (A $ 1: A $ 3, B1) возвращает следующий массив значений ...
#VALUE!
2
#VALUE!
Если формула вводится в одну ячейку, в эту ячейку передается только первое значение из этого массива.Итак, в этом случае, # ЗНАЧЕНИЕ!будет отображаться в ячейке.
Однако, если вы выберете три ячейки, затем введите формулу и подтвердите нажатием CTRL + SHIFT + ENTER, все три значения из массива будут перенесены в эти ячейки.
Обратите внимание, что, поскольку A1: A3 - это вертикальный диапазон ячеек, вам необходимо выбрать вертикальный диапазон ячеек, в который нужно вернуть эти значения.Например, вы можете выбрать D1: D3, а затем, когда эти три ячейки выбраны, ввести формулу, а затем подтвердить, нажав CTRL + SHIFT + ENTER.
Теперь для интересной части.Чтобы вернуть TRUE или FALSE, вам нужно сначала передать массив значений, возвращаемых SEARCH, в ISNUMBER, а затем вам нужно будет передать массив значений, возвращаемых ISNUMBER, в функцию OR, которая, в свою очередь, вернет TRUE, еслипо крайней мере одно из значений, возвращаемых ISNUMBER, имеет значение TRUE.В противном случае он возвращает FALSE.Итак, вы должны использовать следующую формулу, которая должна быть подтверждена с помощью CTRL + SHIFT + ENTER ...
=OR(ISNUMBER(SEARCH(A$1:A$3,B1)))
Вот как вычисляется формула ...
=OR(ISNUMBER(SEARCH(A$1:A$3,B1)))
=OR(ISNUMBER(SEARCH({"a";"b";"c"},"oboe")))
=OR(ISNUMBER({#VALUE!;2;#VALUE!}))
=OR({FALSE;TRUE;FALSE})
... который возвращает TRUE.Кстати, ISNUMBER здесь нужен.Мы не можем просто передать массив значений, возвращаемых SEARCH, в функцию OR.Если бы мы это сделали, функция OR вернула бы #VALUE !, так как массив значений содержит значение ошибки, в данном случае #VALUE !.Вот почему мы используем ISNUMBER, чтобы любое значение ошибки преобразовывалось в FALSE перед передачей ему функции OR.Таким образом, функция OR всегда будет получать массив значений, состоящий из TRUE и / или FALSE.
Надеюсь, это поможет!