2013-03-22 11 views
21

Ho bisogno di trovare un testo parziale in un intervallo specifico e ottenere un valore che è X righe sotto l'indice della cella del testo trovato. Ho provato con le funzioni INDICE e MATCH ma senza successo.Trovare il testo parziale nell'intervallo, restituire un indice

egzample

Come nell'esempio: ricerca di un parziale di testo ASDFGHJK e necessità restituito il valore tre righe sotto: (I NEED THIS VALUE). Ho cercato di ottenere un indice di riga della cella trovata e +3 per ottenere il valore necessario ("HO BISOGNO DI QUESTO VALORE") ma senza successo.

Qualche idea su come procedere?

+0

Potete fornire un esempio? –

+0

ok ho fatto questo – Endriu

+1

così da riassumere: stai cercando il testo "ASDFGHJK" in qualsiasi stringa nella colonna G - e vuoi restituire la cella 3 righe sotto. Destra? –

risposta

30

È possibile utilizzare "jolly" con MATCH così assumendo "ASDFGHJK" nel 1 ° semestre come da risposta di Pietro è possibile utilizzare questa formula normale

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

PARTITA può che fare riferimento a una singola colonna o riga, quindi se desidera cercare 6 colonne si sia necessario impostare una formula con 6 funzioni fiammifero o passare a un altro approccio - provare questa "formula di matrice", assumendo dati di ricerca in 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)

confermato con Ctrl - Maiusc - Enter

+0

Anche il tuo metodo funziona, THX :) Ma hai una domanda ... Cosa devo fare per cercare in più colonne? (non in G: gamma G ma ad esempio A: gamma G?) – Endriu

+0

Ho modificato la mia risposta per dare una soluzione per più colonne - se c'è più di una corrispondenza prende quella nella riga più bassa .... –

+0

Real Houdini;) SUO LAVORO :) – Endriu

9

Questa formula farà il lavoro:

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

è necessario immettere come una formula di matrice, cioè premete Ctrl - Maiusc - Enter. Presuppone che la sottostringa che stai cercando si trovi nella cella H1.

+0

Thx all Its worked :) – Endriu

+0

Eccellente! Ho avuto una domanda simile e ho modificato la tua formula e funziona esattamente come volevi. Thnx – KiwiSteve

+0

SEARCH() può essere piuttosto impegnativo rispetto a una soluzione MATCH-IF. – Djidiouf

2

Ho appena trovato questo quando googling per risolvere lo stesso problema, e abbiamo dovuto fare una piccola modifica alla soluzione per farlo funzionare nella mia situazione, come Avevo 2 sottostringhe simili, "Sun" e "Sunstruck" da cercare. La soluzione offerta stava individuando l'ingresso sbagliato durante la ricerca di "Sun". I dati della colonna B

ho aggiunto un'altra colonna C, formulaes C1 = " "& B1 &" "e cambiato la ricerca a = COUNTIF (B1: B10," * "& A1 &" *")> 0, il colonna aggiuntiva per consentire di trovare la prima dell'ultima voce nella stringa concatenata.

Problemi correlati