2013-03-22 12 views
21

Potrzebuję znaleźć częściowy tekst w określonym zakresie i uzyskać wartość X wierszy pod indeksem komórki znalezionego tekstu. Próbowałem z funkcji INDEX i MATCH, ale bez powodzenia.Znajdowanie częściowego tekstu w zakresie, zwracanie indeksu

egzample

jak w przykładzie: poszukuje częściowy tekstu ASDFGHJK i potrzeb zwróciło wartość trzech rzędów mocy (I NEED THIS VALUE). Próbowałem uzyskać indeks wiersza znalezionej komórki i +3, aby uzyskać potrzebną wartość ("POTRZEBUJĘ TEJ WARTOŚCI"), ale bez powodzenia.

Jakieś pomysły, jak to zrobić?

+0

Czy możesz podać przykład? –

+0

ok zrobiłem to – Endriu

+1

, aby podsumować: szukasz tekstu "ASDFGHJK" w dowolnym ciągu w kolumnie G - i chcesz zwrócić komórkę 3 wiersze poniżej. Dobrze? –

Odpowiedz

30

Można użyć „symbole wieloznaczne” z MATCH więc zakładając „ASDFGHJK” w H1 jak na odpowiedź Piotra można użyć tego regularny wzór

=INDEX(G:G,MATCH("*"&H1&"*",G:G,0)+3)

MATCH można odwołać tylko jedną kolumnę lub wiersz, więc jeśli aby wyszukać 6 kolumn trzeba albo utwórz formułę z 6 funkcji meczu lub zmienić innego podejścia - Try This „formułę tablicową”, zakładając, że dane wyszukiwania w A2: G100

=INDIRECT("R"&REPLACE(TEXT(MIN(IF(ISNUMBER(SEARCH(H1,A2:G100)),(ROW(A2:G100)+3)*1000+COLUMN(A2:G100))),"000000"),4,0,"C"),FALSE)

potwierdzone Ctrl - SHIFT - Wprowadź

+0

Również twoja metoda działa, THX :) Ale mam pytanie ... Co powinienem zrobić, aby wyszukać w wielu zakresach kolumn? (nie w zakresie G: G, ale na przykład A: zakres G?) – Endriu

+0

Edytowałem swoją odpowiedź, aby podać rozwiązanie dla wielu kolumn - jeśli jest więcej niż jeden mecz, to zajmuje on ten w najniższym rzędzie .... –

+0

Prawdziwe Houdini;) ITS WORKING :) – Endriu

9

Ta formuła będzie wykonać zadanie:

 
=INDEX(G:G,MATCH(FALSE,ISERROR(SEARCH(H1,G:G)),0)+3) 

trzeba wprowadzić jako formułę tablicową, czyli prasę Ctrl - Shift, - Wprowadź. Zakłada się, że poszukiwany ciąg znaków znajduje się w komórce H1.

+0

Thx all It worked :) – Endriu

+0

Świetnie! Miałem podobne pytanie i zmodyfikowałem Twoją formułę, która działa dokładnie tak, jak powinna. Thnx – KiwiSteve

+0

SEARCH() może być dość wymagający w porównaniu do rozwiązania MATCH-IF. – Djidiouf

2

Właśnie znalazłem to kiedy googlowania rozwiązać ten sam problem i musiał dokonać drobnych zmian w roztworze, aby pracować w mojej sytuacji, jak Miałem 2 podobne podciągi, "Sun" i "Sunstruck", aby wyszukać. Oferowanym rozwiązaniem było zlokalizowanie nieprawidłowego wpisu podczas wyszukiwania słowa "Słońce". Dane w kolumnie B

Dodałem kolejna kolumna C formulaes C1 = " "& B1 &" "i zmienił wyszukiwanie do = LICZ.JEŻELI (B1: B10," * "& A1 &" *")> 0, dodatkowa kolumna, aby umożliwić znalezienie pierwszego z ostatniego wpisu w połączonym łańcuchu.

Powiązane problemy