Sommario
In questa esercitazione troverete una serie di esempi di formule avanzate che dimostrano come utilizzare le funzioni VLOOKUP e SUM o SUMIF di Excel per cercare e sommare valori in base a uno o più criteri.
Si sta cercando di creare un file di riepilogo in Excel che identifichi tutte le istanze di un particolare valore e poi sommi gli altri valori associati a tali istanze? Oppure si devono trovare tutti i valori in una matrice che soddisfano la condizione specificata e poi sommare i relativi valori da un altro foglio di lavoro? O forse ci si trova di fronte a una sfida più concreta, come guardare attraverso una tabella difatture della vostra azienda, identificando tutte le fatture di un particolare fornitore e sommando poi tutti i valori delle fatture?
I compiti possono variare, ma l'essenza è la stessa: si desidera cercare e sommare valori con uno o più criteri in Excel. Che tipo di valori? Qualsiasi valore numerico. Che tipo di criteri? Qualsiasi : ) A partire da un numero o da un riferimento a una cella contenente il valore giusto, fino agli operatori logici e ai risultati restituiti dalle formule di Excel.
Microsoft Excel dispone di funzionalità che possono aiutare a svolgere i compiti sopra descritti? Certo che sì! È possibile trovare una soluzione combinando le funzioni VLOOKUP o LOOKUP di Excel con le funzioni SUM o SUMIF. Gli esempi di formule che seguono vi aiuteranno a capire come funzionano queste funzioni di Excel e come applicarle a dati reali.
Si tratta di esempi avanzati che presuppongono una certa familiarità con i principi generali e la sintassi della funzione VLOOKUP. In caso contrario, vale la pena di consultare la prima parte del nostro tutorial su VLOOKUP per principianti: sintassi di Excel VLOOKUP e usi generali.
VLOOKUP e SOMMA di Excel: trovare la somma dei valori corrispondenti
Se lavorate con dati numerici in Excel, molto spesso non dovete solo estrarre i valori associati da un'altra tabella, ma anche sommare numeri in diverse colonne o righe. Per farlo, potete utilizzare una combinazione delle funzioni SOMMA e VLOOKUP, come illustrato di seguito.
Dati di partenza:
Supponiamo di avere un elenco di prodotti con i dati di vendita per diversi mesi, una colonna per ogni mese. I dati di origine si trovano nel foglio denominato Vendite mensili :
Ora si vuole creare una tabella riassuntiva con le vendite totali di ciascun prodotto.
La soluzione è utilizzare un array nel terzo parametro ( col_index_num ) della funzione VLOOKUP di Excel. Ecco una formula generica:
SOMMA(VLOOKUP( valore di ricerca , intervallo di ricerca , {2,3,...,n}, FALSO))Come vedete, utilizziamo una costante di matrice nel terzo argomento per eseguire diverse ricerche all'interno della stessa formula VLOOKUP, al fine di ottenere la somma dei valori delle colonne 2, 3 e 4.
Ora adattiamo questa combinazione di funzioni VLOOKUP e SUM ai nostri dati per trovare il totale delle vendite nelle colonne B - M della tabella precedente:
=SOMMA(VLOOKUP(B2, 'Vendite mensili'! $A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))
Importante! Poiché si tratta di una formula di matrice, al termine della digitazione è necessario premere Ctrl + Shift + Invio invece di premere semplicemente Invio. In questo modo, Microsoft Excel racchiude la formula tra parentesi graffe, come in questo caso:
{=SOMMA(VLOOKUP(B2, 'Vendite mensili'!$A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))}
Se si preme il tasto Entrare come al solito, verrà elaborato solo il primo valore dell'array, producendo risultati errati.
Suggerimento: potreste essere curiosi di sapere perché la formula visualizza [@Product] come valore di ricerca nella schermata precedente. Questo perché ho convertito i miei dati in tabella ( Inserire scheda> Tabella ). Trovo molto comodo lavorare con tabelle di Excel completamente funzionali e con i loro riferimenti strutturati. Ad esempio, quando si digita una formula in una cella, Excel la copia automaticamente in tutta la colonna e in questo modo si risparmia qualche secondo prezioso :)
Come vedete, usare le funzioni VLOOKUP e SOMMA in Excel è facile. Tuttavia, questa non è la soluzione ideale, soprattutto se si lavora con tabelle di grandi dimensioni. Il punto è che l'uso di formule di matrice può influire negativamente sulle prestazioni della cartella di lavoro, poiché ogni valore della matrice comporta una chiamata separata alla funzione VLOOKUP. Quindi, più valori si hanno nella matrice e più formule di matrice si hanno inla cartella di lavoro, più lento è il funzionamento di Excel.
È possibile aggirare questo problema utilizzando una combinazione delle funzioni INDEX e MATCH al posto di SUM e VLOOKUP; nel prossimo articolo mostrerò alcuni esempi di formule.
Scaricate questo esempio di VLOOKUP e SOMMA
Come eseguire altri calcoli con la funzione VLOOKUP di Excel
Poco fa abbiamo illustrato un esempio di come sia possibile estrarre i valori da diverse colonne della tabella di ricerca e calcolare la somma di tali valori. Allo stesso modo, è possibile eseguire altri calcoli matematici con i risultati restituiti dalla funzione VLOOKUP. Ecco alcuni esempi di formule:
Operazione | Esempio di formula | Descrizione |
---|---|---|
Calcolo della media | {=AVERAGE(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | La formula cerca il valore della cella A2 nella 'Tabella di ricerca' e calcola la media dei valori delle colonne B, C e D nella stessa riga. |
Trova il valore massimo | {=MAX(VLOOKUP(A2, 'Tabella di ricerca'$A$2:$D$10, {2,3,4}, FALSE))} | La formula cerca il valore della cella A2 nella 'Tabella di ricerca' e trova il valore massimo nelle colonne B, C e D della stessa riga. |
Trova il valore minimo | {=MIN(VLOOKUP(A2, 'Tabella di ricerca'$A$2:$D$10, {2,3,4}, FALSE))} | La formula cerca il valore della cella A2 nella 'Tabella di ricerca' e trova il valore minimo nelle colonne B, C e D della stessa riga. |
Calcolo della % della somma | {=0.3*SOMMA(VLOOKUP(A2, 'Tabella di ricerca'$A$2:$D$10, {2,3,4}, FALSE))} | La formula cerca il valore della cella A2 nella 'Tabella di ricerca', somma i valori delle colonne B, C e D nella stessa riga e calcola il 30% della somma. |
Nota: poiché tutte le formule di cui sopra sono formule di matrice, ricordate di premere Ctrl+Maiusc+Invio per inserirle correttamente in una cella.
Se aggiungiamo le formule di cui sopra alla tabella "Riepilogo vendite" dell'esempio precedente, il risultato sarà simile a questo:
Scaricate questo esempio di calcolo VLOOKUP
LOOKUP E SOMMA - ricerca nell'array e somma i valori corrispondenti
Nel caso in cui il parametro di ricerca sia una matrice piuttosto che un singolo valore, la funzione VLOOKUP non è utile perché non può cercare in matrici di dati. In questo caso, è possibile utilizzare la funzione LOOKUP di Excel, analoga a VLOOKUP ma che funziona sia con le matrici che con i singoli valori.
Consideriamo il seguente esempio, in modo da capire meglio di cosa sto parlando. Supponiamo di avere una tabella che elenca i nomi dei clienti, i prodotti acquistati e la quantità ( Tavolo principale ). Esiste anche una seconda tabella contenente i prezzi dei prodotti ( Tabella di ricerca Il vostro compito è quello di creare una formula che trovi il totale di tutti gli ordini effettuati da un determinato cliente.
Come si ricorderà, non è possibile utilizzare la funzione VLOOKUP di Excel poiché si hanno più istanze del valore di ricerca (array di dati), ma si utilizza una combinazione di funzioni SUM e LOOKUP come questa:
=SOMMA(LOOKUP($C$2:$C$10,'Tabella di ricerca'!$A$2:$A$16,'Tabella di ricerca'!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))
Poiché si tratta di una formula di matrice, ricordate di premere Ctrl + Maiusc + Invio per completarla.
Ora analizziamo gli ingredienti della formula, in modo da capire come funziona ciascuna funzione e poterla modificare per i propri dati.
Accantoniamo per un attimo la funzione SOMMA, il cui scopo è ovvio, e concentriamoci sui 3 componenti che vengono moltiplicati:
LOOKUP($C$2:$C$10,'Tabella di ricerca'!$A$2:$A$16,'Tabella di ricerca'!$B$2:$B$16)
Questa funzione LOOKUP cerca i beni elencati nella colonna C della tabella principale e restituisce il prezzo corrispondente dalla colonna B della tabella di ricerca.
$D$2:$D$10
Questo componente restituisce la quantità di ogni prodotto acquistato da ciascun cliente, elencata nella colonna D della tabella principale. Moltiplicata per il prezzo, restituito dalla funzione LOOKUP di cui sopra, fornisce il costo di ogni prodotto acquistato.
$B$2:$B$10=$G$1
Questa formula confronta i nomi dei clienti nella colonna B con il nome nella cella G1. Se viene trovata una corrispondenza, restituisce "1", altrimenti "0". Si usa semplicemente per "tagliare fuori" i nomi dei clienti diversi dal nome nella cella G1, poiché tutti noi sappiamo che qualsiasi numero moltiplicato per zero è zero.
Poiché la nostra formula è una formula ad array, itera il processo descritto sopra per ogni valore dell'array di ricerca. Infine, la funzione SUM somma i prodotti di tutte le moltiplicazioni. Niente di difficile, vero?
Nota: affinché la formula LOOKUP funzioni correttamente, è necessario ordinare la colonna Lookup nella tabella Lookup in ordine crescente (dalla A alla Z). Se l'ordinamento non è accettabile per i vostri dati, date un'occhiata alla fantastica formula SUM / TRANSPOSE suggerita da Leo.
Scarica questo esempio di LOOKUP e SUM
VLOOKUP e SUMIF: ricerca di & somma di valori con criteri
La funzione SUMIF di Excel è simile a SOMMA, di cui abbiamo appena parlato, in quanto somma anche i valori. La differenza è che la funzione SUMIF somma solo i valori che soddisfano i criteri specificati dall'utente. Per esempio, la formula SUMIF più semplice =SUMIF(A2:A10,">10")
aggiunge i valori delle celle da A2 ad A10 superiori a 10.
Questo è molto semplice, giusto? Consideriamo ora uno scenario un po' più complesso. Supponiamo di avere una tabella che elenca i nomi e i numeri ID dei venditori ( Tabella_di_ricerca Si dispone di un'altra tabella che contiene gli stessi ID e i dati di vendita associati ( Tabella_principale Il vostro compito è quello di trovare il totale delle vendite effettuate da una determinata persona in base al suo ID. A questo punto, ci sono due fattori di complicazione:
- La tabella della posta contiene più voci per lo stesso ID in ordine casuale.
- Non è possibile aggiungere la colonna "Nomi dei venditori" alla tabella principale.
Ora creiamo una formula che, in primo luogo, trovi tutte le vendite effettuate da una determinata persona e, in secondo luogo, sommi i valori trovati.
Prima di iniziare la formula, ricordiamo la sintassi della funzione SUMIF:
SUMIF(range, criteri, [sum_range])gamma
- Questo parametro si spiega da sé: si tratta semplicemente di un intervallo di celle che si desidera valutare in base ai criteri specificati.criteri
- la condizione che indica alla formula quali valori sommare. Può essere fornita sotto forma di numero, riferimento di cella, espressione o altra funzione di Excel.somma_range
- Questo parametro è opzionale, ma molto importante per noi. Definisce l'intervallo in cui devono essere aggiunti i valori delle celle corrispondenti. Se viene omesso, Excel somma i valori delle celle specificate nell'argomento dell'intervallo (1° parametro).
Tenendo a mente le informazioni di cui sopra, definiamo i 3 parametri per la nostra funzione SUMIF. Come ricorderete, vogliamo sommare tutte le vendite effettuate da una determinata persona il cui nome è inserito nella cella F2 della tabella principale (vedi immagine sopra).
- Gamma - dato che la ricerca viene effettuata per ID del venditore, il gamma Il parametro della funzione SUMIF è la colonna B della tabella principale, per cui si può inserire l'intervallo B:B oppure, se si convertono i dati in una tabella, si può usare il nome della colonna:
Tabella_principale[ID]
- Criteri - Poiché abbiamo i nomi dei venditori in un'altra tabella (tabella di ricerca), dobbiamo usare la formula VLOOKUP per trovare l'ID corrispondente a una determinata persona. Il nome della persona è scritto nella cella F2 della tabella principale, quindi lo cerchiamo con questa formula:
VLOOKUP($F$2,Lookup_table,2,FALSE)
Naturalmente è possibile inserire il nome nei criteri di ricerca della funzione VLOOKUP, ma l'uso di un riferimento assoluto alla cella è un approccio migliore perché crea una formula universale che funziona per qualsiasi nome inserito in una determinata cella.
- Intervallo di somma - Questa è la parte più semplice. Poiché i nostri numeri di vendita si trovano nella colonna C denominata "Vendite", dobbiamo semplicemente mettere
Tabella_principale[Vendite]
.Ora basta assemblare le parti della formula e la formula SUMIF + VLOOKUP è pronta:
=SUMIF(Tabella_principale[ID], VLOOKUP($F$2, Tabella_di_ricerca, 2, FALSE), Tabella_principale[Vendite])
Scaricare questo esempio di VLOOKUP e SUMIF
Metodo privo di formule per eseguire vlookup in Excel
Infine, vi presento uno strumento in grado di cercare, abbinare e unire le tabelle senza bisogno di funzioni o formule. Lo strumento Unisci tabelle, incluso nella nostra Ultimate Suite for Excel, è stato progettato e sviluppato come un'alternativa facile da usare e che fa risparmiare tempo alle funzioni VLOOKUP e LOOKUP di Excel e può essere molto utile sia per i principianti che per gli utenti avanzati.
Invece di elaborare formule, è sufficiente specificare le tabelle principali e di ricerca, definire una o più colonne comuni e indicare alla procedura guidata i dati che si desidera recuperare.
Se pensate che questo componente aggiuntivo possa essere utile per il vostro lavoro, potete scaricare una versione di prova utilizzando il link sottostante.
Download disponibili
VLOOKUP con SUM e SUMIF - esempi di formule (file .xlsx)
Ultimate Suite - versione di prova (file .exe)