Vai al contenuto principale

Vlookup e restituisci più valori in base a uno o più criteri

Normalmente, puoi usare la funzione Vlookup per ottenere il primo valore corrispondente, ma, a volte, vuoi restituire tutti i record corrispondenti in base a un criterio specifico. In questo articolo, parlerò di come visualizzare e restituire tutti i valori corrispondenti verticalmente, orizzontalmente o in una singola cella.

Vlookup e restituisce verticalmente tutti i valori corrispondenti

Vlookup e restituisce tutti i valori corrispondenti orizzontalmente

Vlookup e restituisce tutti i valori corrispondenti in una cella


Vlookup e restituisce verticalmente tutti i valori corrispondenti

Per restituire verticalmente tutti i valori corrispondenti in base a un criterio specifico, applica la seguente formula di matrice:

1. Inserisci o copia questa formula in una cella vuota in cui desideri visualizzare il risultato:

=IFERROR(INDEX($C$2:$C$20, SMALL(IF($E$2=$A$2:$A$20, ROW($A$2:$A$20)-ROW($A$2)+1), ROW(1:1))),"" )

Note:: Nella formula sopra, C2:Do20 è la colonna che contiene il record corrispondente che vuoi restituire; A2: A20 è la colonna che contiene il criterio; e E2 è il criterio specifico su cui si desidera restituire i valori. Si prega di modificarli secondo le proprie necessità.

2. Quindi, premere CTRL + MAIUSC + INVIO tasti insieme per ottenere il primo valore, quindi trascina verso il basso la maniglia di riempimento per ottenere tutti i record corrispondenti di cui hai bisogno, vedi screenshot:

Suggerimenti:

Per Vlookup e restituire verticalmente tutti i valori corrispondenti basati su valori più specifici, applicare la formula seguente e premere CTRL + MAIUSC + INVIO chiavi.

=IFERROR(INDEX($C$2:$C$20, SMALL(IF(1=((--($E$2=$A$2:$A$20))*(--($F$2=$B$2:$B$20))), ROW($A$2:$A$20)-ROW($A$2)+1), ROW(1:1))),"" )


Vlookup e restituisce tutti i valori corrispondenti orizzontalmente

Se desideri visualizzare i valori corrispondenti in ordine orizzontale, la formula di matrice sottostante può aiutarti.

1. Inserisci o copia questa formula in una cella vuota in cui desideri visualizzare il risultato:

=IFERROR(INDEX($C$2:$C$20,SMALL(IF($F$1=$A$2:$A$20,ROW($A$2:$A$20)-ROW($A$2)+1),COLUMN(A1))),"")

Note:: Nella formula sopra, C2: C20 è la colonna che contiene il record corrispondente che vuoi restituire; A2: A20 è la colonna che contiene il criterio; e F1 è il criterio specifico su cui si desidera restituire i valori. Si prega di modificarli secondo le proprie necessità.

2. Quindi, premere CTRL + MAIUSC + INVIO chiavi insieme per ottenere il primo valore, quindi trascina la maniglia di riempimento a destra per ottenere tutti i record corrispondenti di cui hai bisogno, vedi screenshot:

Suggerimenti:

Per Vlookup e restituire tutti i valori corrispondenti basati su valori più specifici in orizzontale, applicare la formula seguente e premere CTRL + MAIUSC + INVIO chiavi.

=IFERROR(INDEX($C$2:$C$20,SMALL(IF(1=((--($F$1=$A$2:$A$20))*(--($F$2=$B$2:$B$20))),ROW($A$2:$A$20)-ROW($A$2)+1),COLUMN(A1))),"")


Vlookup e restituisce tutti i valori corrispondenti in una cella

Per visualizzare e restituire tutti i valori corrispondenti in una singola cella, è necessario applicare la seguente formula di matrice.

1. Inserisci o copia la formula seguente in una cella vuota:

=TEXTJOIN(", ",TRUE,IF($A$2:$A$20=F1,$C$2:$C$20,""))

Note:: Nella formula sopra, C2: C20 è la colonna che contiene il record corrispondente che vuoi restituire; A2: A20 è la colonna che contiene il criterio; e F1 è il criterio specifico su cui si desidera restituire i valori. Si prega di modificarli secondo le proprie necessità.

2. Quindi, premere CTRL + MAIUSC + INVIO chiavi insieme per ottenere tutti i valori corrispondenti in una singola cella, vedi screenshot:

Suggerimenti:

Per Vlookup e restituire tutti i valori corrispondenti basati su valori più specifici in una singola cella, applicare la formula seguente e premere CTRL + MAIUSC + INVIO chiavi.

=TEXTJOIN(", ",TRUE,IF(($A$2:$A$20=F1)*($B$2:$B$20=F2),$C$2:$C$20,""))

Nota: Questa formula è stata applicata correttamente solo in Excel 2016 e versioni successive. Se non si dispone di Excel 2016, visualizzare qui per farlo scendere.

Articoli Vlookup più relativi:

  • Vlookup e restituisce più valori dall'elenco a discesa
  • In Excel, come potresti visualizzare e restituire più valori corrispondenti da un elenco a discesa, il che significa che quando scegli un elemento dall'elenco a discesa, tutti i suoi valori relativi vengono visualizzati contemporaneamente come mostrato nella seguente schermata. In questo articolo, introdurrò la soluzione passo dopo passo.
  • Vlookup per restituire vuoto invece di 0 o N / A in Excel
  • Normalmente, quando si applica la funzione vlookup per restituire il valore corrispondente, se la cella corrispondente è vuota, restituirà 0 e se il valore corrispondente non viene trovato, verrà visualizzato un errore # N / A valore. Invece di visualizzare il valore 0 o # N / A, come puoi fare in modo che mostri una cella vuota?
  • Vlookup per restituire più colonne dalla tabella Excel
  • Nel foglio di lavoro Excel, puoi applicare la funzione Vlookup per restituire il valore corrispondente da una colonna. Ma, a volte, potrebbe essere necessario estrarre i valori corrispondenti da più colonne come mostrato nella seguente schermata. Come hai potuto ottenere i valori corrispondenti contemporaneamente da più colonne utilizzando la funzione Vlookup?
  • Valori di Vlookup su più fogli di lavoro
  • In Excel, possiamo facilmente applicare la funzione vlookup per restituire i valori corrispondenti in una singola tabella di un foglio di lavoro. Ma hai mai considerato come visualizzare il valore di vlookup su più fogli di lavoro? Supponendo di avere i seguenti tre fogli di lavoro con un intervallo di dati e ora, voglio ottenere parte dei valori corrispondenti in base ai criteri di questi tre fogli di lavoro.

  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne e conservazione dei dati; Contenuto delle celle divise; Combina righe duplicate e somma / media... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Formule preferite e di inserimento rapido, Intervalli, grafici e immagini; Crittografa celle con password; Crea mailing list e invia email ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Raggruppamento tabelle pivot per numero della settimana, giorno della settimana e altro ... Mostra celle sbloccate e bloccate da diversi colori; Evidenzia le celle che hanno formula / nome...
scheda kte 201905
  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
gents

would you please share with me the formula of the three ways but for data in horizontal table.
This comment was minimized by the moderator on the site
Hello, Ahmed,
To solve your problem, please apply the below formulas:
Get the results vertically: =IFERROR(INDEX($B$2:$K$2, SMALL(IF($A$5=$B$1:$K$1, COLUMN($B$1:$K$1:$K$1)-COLUMN($B$1)+1), ROW(1:1))),"" )
Get the results horizontally: =IFERROR(INDEX($B$2:$K$2, SMALL(IF($D$5=$B$1:$K$1, COLUMN($B$1:$K$1:$K$1)-COLUMN($B$1)+1), COLUMN(A1))),"" )
Ge the results in one cell: =TEXTJOIN(", ",TRUE,IF($B$1:$K$1=J5,$B$2:$K$2,""))
Note: These formulas are array formulas, you should press Ctrl + Shift + Enter keys together to get the correct result.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-vlookup-data.png

Pease try, hope this can help you!
This comment was minimized by the moderator on the site
thanks for your greet support and quick response
This comment was minimized by the moderator on the site
how do u get all rows to fill up like in yr video without pressing ctrl+shift+enter
This comment was minimized by the moderator on the site
After I extend the data, some of the cells is showing a "0" instead of blank
This comment was minimized by the moderator on the site
It means that there is missing data or the wrong type of data in the cell(s) from the column that is being referrenced. For instance, Im working with a bunch of data and I want all ID numbers for workers under a certain supervisor. However, in the table column being referenced with all workers' ID numbers, some cells had the workers last name in it and not their ID numbers. Those exact cells produced 0s when the entire formula was put in, and this is because it was text within a column that is mostly numbers.
This comment was minimized by the moderator on the site
How can you tweak the formula so that you have multiple outputs in column D? E.g. I want to populate column D with each of the countries, such that all of their respective cities will be returned in E? The only work around I have can see is manually changing $D$2
This comment was minimized by the moderator on the site
Thank you very much, you save lots of work here!





Regarding your formula {=TEXTJOIN(", ",TRUE,IF($A$2:$A$15=D2,$B$2:$B$15,"")},

I changed a little : (=TEXTJOIN(CHAR(10),TRUE,IF($A$2:$A$15=D2,$B$2:$B$15,""))}





Regards,



Jeff
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations