Excel: поиск нескольких терминов в ячейке

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

=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")

это уравнение ищет присутствие Гингрича в C1, если оно существует, оно отображает 1.

все, что я хотел бы сделать, это искать более одного термина за раз. Кто-нибудь знает, как добавить функцию OR в это, чтобы я мог искать Гингрича или Обаму или Ромни и т. д... ?

3 ответов


другой способ

=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH({"Gingrich","Obama","Romney"},C1)))))>0,"1","")

кроме того, если вы сохраняете список значений, скажем, от A1 до A3, вы можете использовать

=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($A:$A,C1)))))>0,"1","")

подстановочные знаки вообще не нужны в функции Search (), так как Search () возвращает позицию найденной строки.


попробуйте использовать функцию COUNT, как это

=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},C1)),1,"")

обратите внимание ,что вам не нужны подстановочные знаки (как говорит тейлин), и если нет конкретной причины, "1" не нуждается в кавычках (на самом деле это делает его текстовым значением)


это сделает это за вас:

=IF(OR(ISNUMBER(SEARCH("Gingrich",C3)),ISNUMBER(SEARCH("Obama",C3))),"1","")

учитывая эту функцию в столбце справа от имен (которые находятся в столбце C), результатом является:

Romney  
Gingrich    1
Obama       1