Sommario
In Microsoft Excel, sono disponibili alcune opzioni per VLOOKUP e restituire più valori orizzontalmente. Anche se il VLOOKUP La funzione stessa non è in grado di restituire più valori in orizzontale, in questo articolo vi verranno presentate le opzioni alternative con le opportune illustrazioni.
Scarica il quaderno di esercizi
È possibile scaricare la cartella di lavoro Excel che abbiamo utilizzato per preparare questo articolo.
VLOOKUP per restituire più valori in orizzontale.xlsx2 metodi per VLOOKUP e restituzione di più valori in orizzontale
Il VLOOKUP cerca un valore nella colonna più a sinistra di una tabella e poi restituisce un valore nella stessa riga della colonna specificata. Non è possibile estrarre più valori contemporaneamente utilizzando la funzione VLOOKUP. Se si trascina verso il basso la cella di output per generare i risultati seguenti, si otterranno valori duplicati per alcuni dati. E dopo tutto, non sarà possibile visualizzare i dati estratti in orizzontale con soloil VLOOKUP funzione Esistono quindi due alternative che possiamo applicare al foglio di calcolo Excel per raggiungere i nostri scopi.
1. Uso delle funzioni INDEX, SMALL e IF per VLOOKUP e restituzione dei valori corrispondenti in orizzontale
Nella seguente immagine, la tabella rappresenta una serie di modelli di smartphone con i relativi nomi dei marchi. Poiché sono in ordine casuale, estrarremo i nomi dei modelli di un marchio specifico e li mostreremo orizzontalmente in una riga.
Ad esempio, si vogliono visualizzare i nomi dei modelli di smartphone Samsung in Fila 16 .
📌 Fase 1:
➤ La formula richiesta in Cella C16 sarà:
=INDICE($C$5:$C$14, SMALL(IF($B$16=$B$5:$B$14,ROW($B$5:$B$14)-ROW($B$5)+1), COLUMN(A1)))
➤ Dopo aver premuto Entrare , si otterrà il primo nome del modello Samsung dalla tabella.
📌 Fase 2:
➤ Ora utilizzare Maniglia di riempimento da Cella C16 e trascinarlo verso destra lungo Fila 16 fino a quando un #NUM appare l'errore.
➤ Saltare il primo #NUM e interrompere il riempimento automatico prima della cella contenente l'errore.
Verranno mostrati orizzontalmente tutti i nomi dei modelli di smartphone Samsung disponibili nella tabella.
🔎 Come funziona la formula?
- RIGA($B$5:$B$14)-RIGA($B$5)+1: Questa parte è assegnata al secondo argomento ([valore_se_vero]) del SE Definisce il numero di riga di tutti i dati disponibili nell'intervallo di celle B5:B14 e restituisce il seguente array:
{1;2;3;4;5;6;7;8;9;10}
- IF($B$16=$B$5:$B$14, ROW($B$5:$B$14)-ROW($B$5)+1): Questa parte della formula corrisponde ai criteri solo per i dispositivi Samsung. Se viene trovata una corrispondenza, la formula restituirà il numero di riga della prospettiva, altrimenti restituirà FALSO Quindi, la matrice di ritorno complessiva di questa formula sarà:
{1;FALSO;3;FALSO;5;6;FALSO;FALSO;9;FALSO}
- SMALL(IF($B$16=$B$5:$B$14, ROW($B$5:$B$14)-ROW($B$5)+1), COLUMN(A1)): SMALL La funzione estrae il numero di riga più basso o più piccolo trovato nel passaggio precedente e lo definisce come secondo parametro (numero_riga) del INDICE funzione.
- Infine, la formula completa e combinata estrae il primo nome del modello dei dispositivi Samsung da Colonna C .
Per saperne di più: Utilizzare VLOOKUP con più criteri in Excel (6 metodi + alternative)
Letture simili
- VLOOKUP non funziona (8 motivi e soluzioni)
- Perché VLOOKUP restituisce #N/A quando esiste una corrispondenza? (5 cause e soluzioni)
- VLOOKUP di Excel per restituire più valori in verticale
- VLOOKUP di Excel per restituire più valori in una cella separati da virgola
2. VLOOKUP e restituzione di più valori in orizzontale da una sequenza di dati in Excel
Consideriamo ora un altro scenario: nella tabella seguente, Colonna B ha due marche di smartphone in ordine sparso. Come prima, estrarremo i nomi dei modelli di una marca specifica, ma con una formula diversa. Questa formula funzionerà solo per un intervallo sequenziale di dati. Se i nomi delle marche sono in ordine casuale, come mostrato nella sezione precedente, la formula non funzionerà in modo appropriato.
Ad esempio, estrarremo i nomi dei modelli di smartphone Xiaomi e li mostreremo in orizzontale in Fila 16 .
📌 Fase 1:
➤ Nell'uscita Cella C16 , la formula richiesta sarà:
=IF(COLONNA()-2<=COUNTIF($B$5:$B$14,$B16), INDICE($C$5:$C$14,MATCH($B16,$B$5:$B$14,0)+COLONNA()-3),")
➤ Stampa Entrare e verrà visualizzato subito il nome del primo modello di smartphone di Xiaomi.
📌 Fase 2:
➤ Ora utilizzare Maniglia di riempimento per riempire automaticamente verso destra lungo Fila 16 finché non appare una cella vuota.
Verranno visualizzati tutti i nomi dei modelli del marchio selezionato, come nella schermata seguente.
🔎 Come funziona la formula?
- MATCH($B16,$B$5:$B$14,0): Il PARTITA all'interno della funzione INDICE restituisce il numero della prima riga della cella contenente il nome Xiaomi.
- MATCH($B16,$B$5:$B$14,0)+COLONNA()-3: Questa parte è il secondo argomento del metodo INDICE che definisce il numero di riga in cui si cercherà il primo dato risultante.
- INDEX($C$5:$C$14, MATCH($B16,$B$5:$B$14,0)+COLONNA()-3): Questa parte è il secondo argomento della funzione IF ([value_if_TRUE]) che estrae i primi dati di uscita in base al numero di riga trovato nel passaggio precedente.
- Se non viene trovata alcuna corrispondenza, l'opzione SE restituirà una cella vuota.
💭 Nota: Per restituire correttamente i dati con questa formula, è necessario avviare la tabella da Colonna B dove Colonna B rappresenterà i criteri e Colonna C I dati di output saranno definiti nella colonna B sotto o sopra la tabella, come ho mostrato in Cellula B16 .
Per saperne di più: MATCH INDICE vs funzione VLOOKUP (9 esempi)
Parole conclusive
Spero che questi due metodi sopra menzionati vi aiutino ad applicarli nel vostro foglio di lavoro Excel, estraendo i dati da una tabella e mostrandoli orizzontalmente in una riga. 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.