Вы можете использовать
=IF(C3<>"", FILTER(A2:A,REGEXMATCH(A2:A, TEXTJOIN("|", TRUE, C3:C4) )), "no input")
. Или вы можете пойти дальше и сопоставить Apple
или Pear
как целые слова, используя \b
границы слов и группирующую конструкцию вокруг альтернатив:
=IF(C3<>"", FILTER(A2:A,REGEXMATCH(A2:A, "\b(?:" & TEXTJOIN("|", TRUE, C3:C4) & ")\b")), "no input")
И если вам нужно сделать поиск нечувствительным к регистру, просто добавьте (?i)
в начале:
=IF(C3<>"", FILTER(A2:A,REGEXMATCH(A2:A, "(?i)\b(?:" & TEXTJOIN("|", TRUE, C3:C4) & ")\b")), "no input")
Посмотрите, что документация TEXTJOIN
говорит:
Объединяет текст из нескольких строк и / или массивов с указанным разделителем, разделяющим различные тексты.
Итак, когда вы передаете TRUE
какВторой аргумент: вам не нужно беспокоиться, если диапазон содержит пустые ячейки, и регулярное выражение не будет разрушено посторонними |||
.
Test:
![enter image description here](https://i.stack.imgur.com/N649h.png)