Formula Excel: unisci tabelle con INDICE e CONFRONTA -

Sommario

Formula generica

=INDEX(data,MATCH(lookup,ids,0),2)

Sommario

Per unire o unire tabelle che hanno un ID comune, puoi utilizzare le funzioni INDICE e CONFRONTA. Nell'esempio mostrato, la formula in E5 è:

=INDEX(data,MATCH($C5,ids,0),2)

dove "data" è l'intervallo denominato H5: J8 e "ids" è l'intervallo denominato H5: H8.

Spiegazione

Questa formula estrae il nome e lo stato del cliente dalla tabella dei clienti nella tabella degli ordini. La funzione CONFRONTA viene utilizzata per individuare il cliente giusto e la funzione INDICE viene utilizzata per recuperare i dati.

Recupero del nome del cliente

Lavorando dall'interno verso l'esterno, la funzione CONFRONTA viene utilizzata per ottenere un numero di riga come questo:

MATCH($C5,ids,0)

  • Il valore di ricerca è l'ID cliente in C5, che è un riferimento misto, con la colonna bloccata, quindi la formula può essere facilmente copiata.
  • La matrice di ricerca è costituita dagli ID intervallo denominati (H5: H8), la prima colonna nella tabella dei clienti.
  • Il tipo di corrispondenza è impostato su zero per forzare una corrispondenza esatta.

La funzione CONFRONTA in questo caso restituisce 2, che va in INDICE come numero di riga:

=INDEX(data,2,2)

Con il numero di colonna hardcoded come 2 (i nomi dei clienti sono nella colonna 2) e la matrice impostata sull'intervallo denominato "dati" (H5: J8), INDICE restituisce: Amy Chang.

Recupero dello stato del cliente

La formula per recuperare lo stato del cliente è quasi identica. L'unica differenza è che il numero della colonna è hardcoded come 3, poiché le informazioni sullo stato vengono visualizzate nella terza colonna:

=INDEX(data,MATCH($C5,ids,0),2) // get name =INDEX(data,MATCH($C5,ids,0),3) // get state

Partita dinamica a due vie

Aggiungendo un'altra funzione MATCH alla formula, è possibile impostare una corrispondenza dinamica a due vie. Ad esempio, con l'intervallo denominato "intestazioni" per H4: J4, puoi utilizzare una formula come questa:

=INDEX(data,MATCH($C5,ids,0),MATCH(E$4,headers,0))

Qui è stata aggiunta una seconda funzione MATCH per ottenere il numero di colonna corretto. CONFRONTA utilizza l'intestazione di colonna corrente nella prima tabella per individuare il numero di colonna corretto nella seconda tabella e restituisce automaticamente questo numero a INDICE.

Articoli interessanti...