2013-02-10 12 views
12

Używam tego przydatnego równania, aby wyszukać termin wewnątrz komórki w programie Excel.Excel: Wyszukiwanie wielu terminów w komórce

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

To równanie wyszukuje obecności Gingrich w C1, jeśli istnieje, to wyświetla 1.

Wszystko chciałbym zrobić, to znaleźć na więcej niż jedną kadencję w czasie. Ktoś wie, jak dodać funkcję OR do tego, abym mógł wyszukać Gingricha LUB Obamę LUB Romneya itd ...?

Odpowiedz

22

Innym sposób

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

Ponadto, jeśli trzymać listę wartości, powiedzmy A1 do A3, a następnie można użyć

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

Symbole wieloznaczne nie są w ogóle konieczne w funkcji wyszukiwania(), ponieważ funkcja Search() zwraca pozycję znalezionego ciągu znaków.

+0

Wow! Uwielbiam, jak łatwo jest wprowadzić terminy przecinkami. Również wprowadzenie zakresu z innego miejsca może być przydatne. Kto potrzebuje zestawu narzędzi do wyszukiwania, gdy masz program Excel! –

+0

Świetne rozwiązanie (nawet jeśli było na SO). Żałuję, że nie mogłem tego zrobić dwa razy. Udoskonaliłem go tylko, by wyciągnąć wartości ze stołu, a nie z zakresu. Dzięki. – dav

+0

Zamiast używać "NOT (ISERR())", czy prostszy "ISNUMBER()" nie wystarczy? – Iakovosian

2

to zrobi to za ciebie:

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

Biorąc pod uwagę tę funkcję w kolumnie po prawej stronie nazwy (które są w kolumnie C), wynik jest:

Romney 
Gingrich 1 
Obama  1 
+0

Dziękuję bardzo, widzę, że samo dodanie innego ISNUMBER i SEARCH działa dobrze. –

+0

Edytowałem swoją odpowiedź, aby usunąć symbole wieloznaczne, które są niepotrzebne, jak zasugerował @teylyn. W tym przypadku odpowiedzi z wieloma terminami w 'SEARCH()' są lepsze i poprawiłem je, ale łączenie wielu testów z 'OR()' jest konieczne, gdy poszczególne testy są różne, więc zostawiłem ten przykład dla inni, którzy mogą uznać to za przydatne. – Simon

5

Spróbuj użyć funkcji count jak ten

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

pamiętać, że nie potrzebują symboli wieloznacznych (jak mówi teylyn) i jeśli istnieje konkretny powód „1” nie potrzebuje cytatów (w rzeczywistości co sprawia, że ​​jest to wartość tekstowa)

Powiązane problemy