VLOOKUP e restituzione di tutte le corrispondenze in Excel (7 modi)

  • Condividi Questo
Hugh West

Ci sono diversi modi per fare domanda VLOOKUP o di lookup verticale in Microsoft Excel per restituire dati basati su più corrispondenze. In questo articolo, conoscerete tutti i possibili approcci per attivare VLOOKUP ed estrarre tutti i dati disponibili con le opportune illustrazioni.

Scarica il quaderno di esercizi

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

VLOOKUP e restituzione di tutte le corrispondenze.xlsx

7 modi per eseguire VLOOKUP e restituire tutte le corrispondenze in Excel

Il VLOOKUP cerca un valore nella colonna più a sinistra di una tabella e restituisce un valore nella stessa riga della colonna specificata. Questa funzione, però, non è in grado di estrarre i dati in base a più di una corrispondenza da una colonna. Pertanto, è necessario inserire altre funzioni e formule per cercare un valore e restituire tutte le corrispondenze trovate in una colonna.

1. VLOOKUP e restituzione di più corrispondenze in una colonna

Nell'immagine seguente, abbiamo una tabella contenente i nomi casuali di diversi dipendenti e dei loro reparti. Supponiamo di voler mostrare in un'unica colonna i nomi dei dipendenti che lavorano nel reparto Fabbricazione.

Se siete un Excel 365 utente, allora si può scegliere il metodo FILTRO per trovare subito i valori di ritorno. Con la funzione FILTRO la formula richiesta nell'output Cella C16 sarà:

=FILTER(C5:C13,C15=B5:B13)

Dopo aver premuto Entrare , si vedranno i nomi dei dipendenti del Fabbricazione reparto in un array verticale.

Oppure se si utilizza un versione precedente di Microsoft Excel, è necessario utilizzare la seguente formula combinata:

=INDICE($C$5:$C$13, SMALL(IF(($C$15=$B$5:$B$13), MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)), ""), ROWS($A$1:A1))

Dopo aver premuto Entrare , il nome dell'impiegato viene visualizzato nell'output Cella C16 .

Utilizzando Maniglia di riempimento da Cella C16 verso il basso, si otterrà il resto dei nomi dei dipendenti del reparto specificato in una sola volta.

🔎 Come funziona questa formula?

  • RIGA($B$5:$B$13): Il FILO estrae i numeri di riga dei riferimenti di cella definiti e restituisce la seguente matrice:

{5;6;7;8;9;10;11;12;13}

  • MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)): PARTITA converte i numeri di riga estratti a partire da 1. Quindi, questa parte della formula restituisce un array di:

{1;2;3;4;5;6;7;8;9}

  • IF(($C$15=$B$5:$B$13), MATCH(ROW($B$5:$B$13), ROW($B$5:$B$13)), ""): Con l'aiuto di SE questa parte della formula restituisce il numero di indice delle righe che soddisfano la condizione specificata. Quindi, questa parte restituisce un array di:

{"";2;"";4;"";"";"";"";9}

  • Il PICCOLO La funzione della formula estrae il primo numero piccolo trovato nel passo precedente e lo assegna al secondo argomento (numero_riga) del INDICE funzione.
  • Infine, il INDICE mostra il nome del dipendente in base al numero di riga specificato.
  • Il FILARI in questa formula definisce la funzione k-esimo numero per il PICCOLO Mentre si utilizza la funzione Maniglia di riempimento per riempire il resto delle celle, la formula utilizza questa k-esimo per estrarre i dati, seguito dal numero PICCOLO funzione.

Per saperne di più: MATCH INDICE vs funzione VLOOKUP (9 esempi)

2. VLOOKUP e restituzione di tutte le corrispondenze in una riga in Excel

Se si desidera visualizzare i nomi dei dipendenti in orizzontale, è necessario combinare il comando FILTRO con la funzione TRASPARENZA funzione. Il TRASPARENZA converte un intervallo verticale di celle in un intervallo orizzontale o viceversa. E per utilizzare questa formula combinata, è necessario essere un utente di Excel 365 utente.

Quindi, la formula richiesta nell'output Cella C16 sarà:

=TRANSPOSE(FILTRO(C5:C13,C15=B5:B13))

Ora premere Entrare e verranno visualizzati i nomi dei dipendenti del reparto Produzione in un array orizzontale.

Oppure inserire la seguente formula nell'output Cella C16 se non si è utenti di Excel 365.

=INDICE($C$5:$C$13, SMALL(IF($C$15=$B$5:$B$13, ROW($B$5:$B$13)-MIN(ROW($B$5:$B$13))+1, ""), COLUMNS($A$1:A1))

Stampa Entrare e troverete il nome del dipendente del reparto specificato.

Ora, utilizzare Maniglia di riempimento e trascinare l'elemento Cella C16 verso destra fino a trovare il primo #NUM errore. E si otterranno tutti i nomi dal Fabbricazione reparto in orizzontale.

La formula inserita qui è quasi simile alla prima lunga formula utilizzata nell'esempio precedente dell'articolo, in cui i dati estratti dovevano essere visualizzati in verticale. L'unica differenza sostanziale è che stiamo utilizzando il parametro COLONNE per specificare il numero di sequenza del file PICCOLO Mentre il riempimento automatico delle celle avviene in orizzontale, la formula seguirà il numero di sequenza dell'opzione PICCOLO per estrarre i dati.

Per saperne di più: VLOOKUP di Excel per restituire più valori in verticale

3. VLOOKUP per restituire più valori in base ai criteri

Abbiamo aggiunto una colonna in più al centro della tabella, che memorizza gli ID dei progetti assegnati ai dipendenti corrispondenti presenti in Colonna D Quindi, ora inseriremo due condizioni diverse ed estrarremo i dati in base a tutte le corrispondenze trovate.

Ad esempio, vogliamo conoscere i nomi dei dipendenti che attualmente lavorano nell'azienda. Vendite sul progetto ID di DMR 103 .

La formula richiesta nell'output Cella C17 sarà:

=IFERROR(INDEX($D$5:$D$13, SMALL(IF(1=((--($C$15=$B$5:$B$13)) * (--($C$16=$C$5:$C$13)), ROW($D$5:$D$13)-4,""), ROW()-16)),"")

Stampa Entrare e troverete il nome del dipendente in base ai criteri specificati.

Ora riempite il Cella C17 per mostrare il resto del nome con le condizioni date.

🚩 Alcune caratteristiche importanti di questa formula:

  • Anche questa formula è abbastanza simile a quella utilizzata nel metodo precedente.
  • In questa formula, il IFERRORE è stata utilizzata per mostrare un output personalizzato in caso di errore.
  • Il SE La funzione in questa formula combina due criteri diversi e, con l'aiuto del doppio unario, i valori booleani (VERO o FALSO) trasformarsi in 1 o 0 La funzione restituisce quindi il numero di indice delle righe che corrispondono ai criteri indicati.
  • RIGA($D$5:$D$13)-4: In questa parte, il numero '4' è il numero di riga dell'intestazione del dipendente.
  • ROW()-16: E il valore numerico '16' utilizzato in questa parte indica il numero di riga precedente della prima cella di uscita.

Per saperne di più: Utilizzare VLOOKUP con più criteri in Excel (6 metodi + alternative)

4. VLOOKUP e estrazione di tutte le corrispondenze con AutoFilter

Utilizzando Filtro automatico Poiché vogliamo estrarre i nomi dei dipendenti del reparto Produzione, dobbiamo seguire i seguenti passaggi:

📌 Fase 1:

Selezionare l'intera tabella di dati e fare clic con il tasto destro del mouse.

➤ Scegliere l'opzione Filtrare in base al valore della cella selezionata'. dall'opzione Filtro opzioni.

Quindi, avete appena attivato il Filtro per le intestazioni.

📌 Fase 2:

➤ Fare clic sul pulsante Filtro dal pulsante Dipartimento intestazione.

➤ Segnare il segno sul Fabbricazione solo in opzione.

➤ Stampa OK e il gioco è fatto.

Come nella schermata seguente, verranno visualizzati i dati risultanti e filtrati.

Per saperne di più: VLOOKUP con corrispondenze multiple in Excel

Letture simili

  • Come applicare un doppio VLOOKUP in Excel (4 modi rapidi)
  • VLOOKUP non funziona (8 motivi e soluzioni)
  • Come combinare SUMIF & VLOOKUP di Excel su più fogli
  • VLOOKUP per restituire più colonne in Excel (4 esempi)
  • Come eseguire un VLOOKUP con più condizioni in Excel (2 metodi)

5. VLOOKUP per estrarre tutte le corrispondenze con un filtro avanzato in Excel

È inoltre possibile utilizzare il comando Filtro avanzato in cui si devono definire i criteri selezionando l'intervallo di criteri dal foglio di calcolo Excel. Nell'immagine seguente, B15:B16 è l'intervallo di criteri.

📌 Fase 1:

➤ Selezionare l'intera tabella di dati.

➤ Sotto il Dati fare clic sulla barra multifunzione Avanzato dal comando Ordinamento e filtro a discesa.

Una finestra di dialogo denominata Filtro avanzato si aprirà.

📌 Fase 2:

➤ Selezionate l'intera tabella di dati per l'elenco Elenco Gamma ingresso.

➤ Scegliere B15:B16 per l'ingresso del sistema Gamma di criteri .

➤ Stampa OK .

Verranno visualizzati i risultati filtrati con i nomi dei dipendenti dell'area Fabbricazione solo per il dipartimento.

Per saperne di più: VLOOKUP con criteri multipli in Excel (6 esempi)

6. VLOOKUP e restituzione di tutti i valori mediante formattazione come tabella

Ora vi mostreremo un altro semplice metodo per filtrare la tabella dei dati convertendola in una tabella formattata.

📌 Fase 1:

➤ Selezionare prima la tabella dei dati primari.

➤ Dal Formato come tabella sotto il menu a tendina Casa scegliere una delle tabelle che si preferisce.

Dopo il primo passaggio, la tabella dei dati avrà l'aspetto mostrato nella seguente schermata con le intestazioni filtrate.

📌 Fase 2:

➤ Selezionare l'opzione Fabbricazione dopo aver fatto clic sul pulsante del filtro dalla finestra Dipartimento intestazione.

➤ Stampa OK e il gioco è fatto.

La schermata seguente mostra le uscite in base alla selezione specificata.

Per saperne di più: Uso di VBA VLOOKUP per trovare valori da un altro foglio di lavoro in Excel

7. VLOOKUP per estrarre tutte le corrispondenze in una singola cella in Excel

Il TESTO concatena un elenco o un intervallo di stringhe di testo utilizzando un delimitatore. Incorporando la funzione TESTO e SE insieme, possiamo cercare un valore ed estrarre i dati in base a tutte le corrispondenze in un'unica cella.

La formula richiesta nell'output Cella C16 sarà:

=TEXTJOIN(", ", TRUE, IF($B$5:$B$13=$C$15, $C$5:$C$13,"))

Dopo aver premuto Entrare , si troveranno i nomi dei dipendenti del Fabbricazione in un'unica cella separata da virgole.

In questa formula, il SE restituisce l'array con i nomi corrispondenti e il valore booleano "FALSE" per le celle non corrispondenti. La funzione TESTO unisce tutti i nomi trovati con il delimitatore specificato.

Per saperne di più: VLOOKUP Testo parziale da una singola cella in Excel

Parole conclusive

Spero che tutti questi metodi sopra menzionati vi aiutino ad applicarli nei vostri fogli di calcolo Excel quando necessario. 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.