2012-11-27 14 views
6

Ancora una volta ho difficoltà a trovare la risposta su Google, ma sono sicuro che deve esistere. Scusa se mi imbatto in un novizio: lo sono quando si parla di Excel, sembra!Excel trova le celle nell'intervallo in cui il valore di ricerca si trova all'interno della cella

Quello che mi piacerebbe essere in grado di fare è dire di cercare in un intervallo, quindi trovare le celle all'interno di quell'intervallo che contengono il testo che si trova nella mia funzione di ricerca. Non ho bisogno di alcun tipo di risultato diverso da VERO o> 1 (se corrisponde, ovviamente).

In questo caso, sto cercando un RANGE composto da anni, un anno in ogni cella e cercando di trovare celle in quell'intervallo che contengono un anno da un elenco di anni che sono tutti in una cella.

Fondamentalmente sto cercando di utilizzare una funzione simile alla funzione di ricerca che penso.

=SEARCH(text to find, find within text) 

Tuttavia, mi piacerebbe che fare il contrario e trovare le celle che contengono una parte del testo all'interno della cella di origine:

=SEARCH(find within text, text to find) 

o, più specificamente

=SEARCH("2001,2002,2003,2004,2005", "2003") 

È possibile senza l'uso di una macro? Preferirei evitarlo se possibile. Tutte le celle in questione sono formattate come testo.

Ho sperimentato COUNTIF, ma di nuovo funziona nel retro di ciò di cui ho bisogno.

Ci scusiamo se questa domanda non è chiara. Spero che qualcuno possa aiutarti, grazie in anticipo.

Joe

+0

Ho appena letto questa indietro attraverso, sembra senza senso mi dispiace. – JoeP

risposta

4

Sono sicuro che ci sia un modo migliore, ma se sto comprensione correttamente, si potrebbe provare SUM in combinazione con una formula di matrice (entrare con Ctrl+Shift+Enter):

=IF(SUM(IFERROR(FIND(A1:E1,G1),0))>0, "FOUND", "NOT FOUND") 

Qui, A1:E1 conteneva i singoli anni e G1 conteneva la singola cella di anni. Questo esegue FIND su ogni cella dell'intervallo, restituendo una posizione se trova una corrispondenza nella cella di destinazione e restituisce 0 se non lo è (IFERROR è una funzione 2007 - se non si dispone di Excel 2007, possiamo riscrivere). Quindi somma i risultati della funzione FIND e se è maggiore di 0, significa che hai trovato una corrispondenza da qualche parte.

enter image description here

+0

bella risposta! E ancora questo mostra quanto sia strana la formula dell'array in Excel funziona ... –

+0

@ K_B Grazie - gli array sicuramente rendono le cose interessanti :) – RocketDonkey

+1

Meraviglioso! Molte grazie :) – JoeP

Problemi correlati