Ricerca di una corrispondenza parziale di testo in Excel (5 metodi)

  • Condividi Questo
Hugh West

In Microsoft Excel esistono diversi metodi utili per cercare corrispondenze parziali di testo e quindi estrarre dati in base a quella specifica corrispondenza. In questo articolo imparerete tutti i metodi adatti a cercare corrispondenze parziali di testo in Excel con l'incorporazione di diverse funzioni e formule di ricerca.

Scarica il quaderno di esercizi

È possibile scaricare la cartella di lavoro Excel che abbiamo utilizzato per preparare questo articolo.

Ricerca corrispondenza testo parziale.xlsx

5 metodi adatti per cercare corrispondenze di testo parziali in Excel

1. Corrispondenza parziale del testo con VLOOKUP in Excel

Nell'immagine seguente è riportata una tabella contenente i voti ottenuti in diverse materie da alcuni studenti in un esame. Ora, sulla base della corrispondenza parziale di un testo da Colonna B , estrarremo i voti di una materia per uno studente.

Ad esempio, possiamo cercare il testo "Tick" nella colonna di Nome In base alla corrispondenza parziale, scopriremo il nome effettivo di quello studente e poi estrarremo i voti in matematica dello studente corrispondente dalla tabella.

In questo esempio, si utilizzerà l'opzione VLOOKUP Questa funzione cerca un valore nella colonna più a sinistra di una tabella e poi restituisce il valore nella stessa riga della colonna specificata. La formula generica di questa funzione VLOOKUP è:

=VLOOKUP(lookup_value, table_array, col_index_number, [range_lookup])

Poiché stiamo per estrarre i voti in matematica di uno studente il cui nome contiene il testo "Tick" , quindi la formula richiesta nell'output Cellula D17 sarà:

=VLOOKUP(D16,B5:G14,5,FALSE)

Oppure,

=VLOOKUP("*Tick*",B5:G14,5,FALSE)

Dopo aver premuto Entrare , vi verranno mostrati subito i voti in matematica per Tickner.

Per saperne di più: Come usare VLOOKUP per le corrispondenze parziali in Excel (4 modi)

2. Ricerca di corrispondenze di testo parziali con le funzioni INDEX-MATCH

Ora utilizzeremo la combinazione di INDICE e PARTITA La funzione INDEX restituisce un valore o un riferimento della cella all'intersezione di una particolare riga e colonna in un determinato intervallo e la funzione MATCH restituisce la posizione relativa di un elemento in una matrice che corrisponde a un valore specificato in un ordine specifico.

Troveremo un risultato simile a quello ottenuto con il metodo precedente. Quindi, in questa sezione, la formula richiesta nell'output Cellula D18 sarà:

=INDICE(B5:G14,MATCH(D17,B5:B14,0),MATCH(D17,B4:G4,0))

Oppure,

=INDEX(B5:G14,MATCH("*Tick*",B5:B14,0),MATCH(D17,B4:G4,0))

Ora premere Entrare e la formula restituirà 91, il voto ottenuto da Tickner in matematica.

In questa formula, i due PARTITA definiscono i numeri di riga e di colonna rispettivamente del nome dello studente e della materia. INDICE restituisce il valore all'intersezione dei numeri di riga e di colonna definiti nell'array.

Per saperne di più: Come usare INDEX e Match per le corrispondenze parziali (2 modi)

3. XLOOKUP con carattere jolly per cercare una corrispondenza di testo parziale

Il XLOOKUP cerca una corrispondenza in un intervallo o in un array e restituisce l'elemento corrispondente da un secondo intervallo o array. La formula generica di questa funzione è:

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

Ora useremo questo XLOOKUP per estrarre direttamente i voti in matematica dello studente il cui nome contiene il testo "Tick" all'interno.

Nell'uscita Cellula D18 , la formula richiesta sarà:

=XLOOKUP("*"&D16&"*",B5:B14,F5:F14,,2)

Dopo aver premuto Entrare , verrà visualizzato un risultato simile a quello trovato nei due esempi precedenti.

In questa funzione, abbiamo usato 2 come argomento [match_mode] che indica la corrispondenza con i caratteri jolly. Se non si usa questo argomento, la funzione restituirà #N/A perché, per impostazione predefinita, la funzione cercherà la corrispondenza esatta invece di quella con i caratteri jolly.

4. Combinazione delle funzioni XLOOKUP, ISNUMBER e SEARCH per cercare corrispondenze di testo parziali

Se si sceglie di evitare l'uso di caratteri jolly nella funzione di ricerca, è necessario applicare la formula combinata di XLOOKUP, ISNUMERO e RICERCA funzioni.

Il ISNUMERO verifica se il valore di una cella è un valore numerico o meno. La funzione RICERCA restituisce il numero del carattere in corrispondenza del quale viene trovato per primo un carattere specifico o una stringa di testo, leggendo da sinistra a destra. Le formule generiche di queste due funzioni sono le seguenti:

=ISNUMERO(valore)

E

=SEARCH(trova_testo, entro_testo, [numero_di_ricerca])

Quindi, la formula richiesta nell'output Cellula D18 sarà:

=XLOOKUP(TRUE,ISNUMBER(SEARCH(D16,B5:B14)),F5:F14)

Dopo aver premuto Entrare , il valore risultante verrà mostrato subito.

🔎 Come funziona la formula?

  • Il RICERCA cerca il testo 'Tick' nell'intervallo della cella B5:B14 e restituisce un array di:

{#VALUE!;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}

  • Il ISNUMERO cerca quindi il valore numerico in quell'array e restituisce un altro array di valori booleani:

{FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}.

  • Il XLOOKUP cerca il valore booleano specificato. VERO nell'array trovato nel passaggio precedente ed estrae il numero di riga di quel valore nell'array di B5:B14 .
  • Infine, in base all'array di ritorno di F5:F14 , il XLOOKUP La funzione estrae i voti in matematica dell'alunno il cui nome contiene il testo-. 'Tick' all'interno.

5. Uso delle funzioni FILTRO, ISNUMERO e RICERCA per cercare corrispondenze di testo parziali

Nell'ultimo metodo, si utilizzerà la combinazione di FILTRO, NUMERO e RICERCA funzioni. Il FILTRO La funzione filtra un intervallo di celle o una matrice in base alle condizioni date. La formula generica di questa funzione è:

=FILTRO(array, include, [if_empty])

Dal momento che abbiamo a che fare con un set di dati simile, la formula richiesta con l'attributo FILTRO nell'uscita Cellula D18 sarà:

=FILTRO(F5:F14,ISNUMBER(SEARCH(D16,B5:B14))

Ora premere Entrare e si otterrà immediatamente il valore risultante.

In questa formula, il FILTRO filtra l'intervallo di celle. F5:F14 in base al valore booleano VERO Solo la combinazione di ISNUMERO e RICERCA restituisce un array di valori booleani. VERO e FALSO e definisce il secondo argomento (includere) del FILTRO funzione.

Parole conclusive

Spero che tutti i metodi sopra descritti vi aiutino a estrarre i dati in base alle corrispondenze parziali del testo nei vostri fogli di calcolo Excel. Se avete domande o commenti, fatemelo sapere nella sezione dei commenti. Oppure potete consultare gli altri articoli relativi alle funzioni di Excel su questo sito.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.