Cuprins
În acest tutorial, veți găsi câteva exemple de formule avansate care demonstrează cum să utilizați funcțiile VLOOKUP și SUM sau SUMIF din Excel pentru a căuta și însuma valori pe baza unuia sau mai multor criterii.
Încercați să creați un fișier de sinteză în Excel care să identifice toate cazurile unei anumite valori și apoi să însumeze alte valori care sunt asociate cu acele cazuri? Sau trebuie să găsiți toate valorile dintr-o matrice care îndeplinesc condiția specificată de dvs. și apoi să însumați valorile aferente dintr-o altă foaie de calcul? Sau poate vă confruntați cu o provocare mai concretă, cum ar fi căutarea într-un tabel defacturile companiei dumneavoastră, identificând toate facturile unui anumit furnizor și apoi însumând toate valorile facturilor?
Sarcinile pot varia, dar esența este aceeași - doriți să căutați și să adunați valori cu unul sau mai multe criterii în Excel. Ce fel de valori? Orice valori numerice. Ce fel de criterii? Oricare : ) Începând de la un număr sau o referință la o celulă care conține valoarea corectă și terminând cu operatori logici și rezultate returnate de formulele Excel.
Așadar, Microsoft Excel are vreo funcționalitate care să vă ajute în îndeplinirea sarcinilor de mai sus? Bineînțeles că da! Puteți găsi o soluție prin combinarea funcțiilor VLOOKUP sau LOOKUP ale Excel cu funcțiile SUM sau SUMIF. Exemplele de formule care urmează vă vor ajuta să înțelegeți cum funcționează aceste funcții Excel și cum să le aplicați la date reale.
Vă rugăm să rețineți că acestea sunt exemple avansate care implică faptul că sunteți familiarizat cu principiile generale și sintaxa funcției VLOOKUP. În caz contrar, prima parte a tutorialului nostru VLOOKUP pentru începători merită cu siguranță atenția dumneavoastră - Sintaxa Excel VLOOKUP și utilizări generale.
Excel VLOOKUP și SUM - găsiți suma valorilor corespunzătoare
Dacă lucrați cu date numerice în Excel, destul de des nu trebuie doar să extrageți valorile asociate dintr-un alt tabel, ci și să însumați numere din mai multe coloane sau rânduri. Pentru a face acest lucru, puteți utiliza o combinație a funcțiilor SUM și VLOOKUP, așa cum este demonstrat mai jos.
Sursa datelor:
Să presupunem că aveți o listă de produse cu cifre de vânzări pentru mai multe luni, câte o coloană pentru fiecare lună. Datele sursă se află pe foaia numită Vânzări lunare :
Acum, doriți să creați un tabel de sinteză cu vânzările totale pentru fiecare produs.
Soluția este de a utiliza un array în cel de-al treilea parametru ( col_index_num ) a funcției Excel VLOOKUP. Iată o formulă generică:
SUM(VLOOKUP( valoarea de căutare , interval de căutare , {2,3,...,n}, FALSE)))După cum vedeți, folosim o constantă de matrice în cel de-al treilea argument pentru a efectua mai multe căutări în cadrul aceleiași formule VLOOKUP pentru a obține suma valorilor din coloanele 2, 3 și 4.
Și acum, să ajustăm această combinație de funcții VLOOKUP și SUM pentru datele noastre pentru a găsi totalul vânzărilor din coloanele B - M din tabelul de mai sus:
=SUM(VLOOKUP(B2, 'Vânzări lunare'! $A$2:$M$9, {2,3,4,5,6,7,8,8,9,10,11,12,13}, FALSE))
Important! Deoarece construiți o formulă de matrice, asigurați-vă că apăsați Ctrl + Shift + Enter în loc de o simplă apăsare a tastei Enter atunci când ați terminat de tastat. Când faceți acest lucru, Microsoft Excel închide formula dvs. între paranteze curbe, astfel:
{=SUM(VLOOKUP(B2, 'Vânzări lunare'!$A$2:$M$9, {2,3,4,5,6,7,8,8,9,10,11,12,13}, FALSE))}
Dacă apăsați butonul Introduceți ca de obicei, va fi procesată doar prima valoare din matrice, ceea ce va produce rezultate incorecte.
Sfat. Poate sunteți curios de ce formula afișează [@Product] ca valoare de căutare în captura de ecran de mai sus. Acest lucru se datorează faptului că am convertit datele mele în tabel ( Introduceți tab> Tabelul ). mi se pare foarte comod să lucrez cu tabele Excel complet funcționale și cu referințele lor structurate. De exemplu, atunci când scrii o formulă într-o celulă, Excel o copiază automat pe întreaga coloană și în acest fel economisești câteva secunde prețioase :)
După cum vedeți, utilizarea funcțiilor VLOOKUP și SUM în Excel este ușoară. Cu toate acestea, aceasta nu este soluția ideală, mai ales dacă lucrați cu tabele mari. Ideea este că utilizarea formulelor de tip array poate afecta în mod negativ performanța caietului de lucru, deoarece fiecare valoare din array face un apel separat al funcției VLOOKUP. Astfel, cu cât aveți mai multe valori în array și cu cât aveți mai multe formule array înregistrul de lucru, cu atât mai lent funcționează Excel.
Puteți ocoli această problemă utilizând o combinație a funcțiilor INDEX și MATCH în loc de SUM și VLOOKUP, iar în articolul următor vă voi prezenta câteva exemple de formule.
Descărcați acest eșantion VLOOKUP și SUM
Cum să efectuați alte calcule cu funcția Excel VLOOKUP
Cu puțin timp în urmă am discutat un exemplu despre cum puteți extrage valori din mai multe coloane din tabelul de căutare și să calculați suma acestor valori. În același mod, puteți efectua și alte calcule matematice cu rezultatele returnate de funcția VLOOKUP. Iată câteva exemple de formule:
Operațiunea | Exemplu de formulă | Descriere |
---|---|---|
Calculați media | {=AVERAGE(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formula caută valoarea celulei A2 din "Lookup table" și calculează media valorilor din coloanele B, C și D din același rând. |
Găsiți valoarea maximă | {=MAX(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formula caută valoarea celulei A2 în "Tabelul de căutare" și găsește valoarea maximă în coloanele B, C și D din același rând. |
Găsiți valoarea minimă | {=MIN(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formula caută valoarea celulei A2 din "Tabelul de căutare" și găsește valoarea minimă în coloanele B, C și D din același rând. |
Calculați % din sumă | {=0.3*SUM(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formula caută valoarea celulei A2 din 'Lookup table', însumează valorile din coloanele B, C și D din același rând și apoi calculează 30% din sumă. |
Notă. Deoarece toate formulele de mai sus sunt formule de tip matrice, nu uitați să apăsați Ctrl+Shift+Enter pentru a le introduce corect într-o celulă.
Dacă adăugăm formulele de mai sus la tabelul "Rezumat vânzări" din exemplul anterior, rezultatul va fi similar cu acesta:
Descărcați acest eșantion de calcule VLOOKUP
LOOKUP AND SUM - caută în matrice și însumează valorile corespunzătoare
În cazul în care parametrul de căutare este o matrice și nu o singură valoare, funcția VLOOKUP nu este de niciun folos, deoarece nu poate căuta în array-uri de date. În acest caz, puteți utiliza funcția LOOKUP din Excel, care este analogă cu VLOOKUP, dar care funcționează cu array-uri, precum și cu valori individuale.
Să luăm în considerare următorul exemplu, pentru a înțelege mai bine despre ce vorbesc. Să presupunem că aveți un tabel care listează numele clienților, produsele achiziționate și cantitatea ( Masa principală ). De asemenea, aveți un al doilea tabel care conține prețurile produselor ( Tabel de căutare ). sarcina dumneavoastră este de a realiza o formulă care să găsească totalul tuturor comenzilor făcute de un anumit client.
După cum vă amintiți, nu puteți utiliza funcția Excel VLOOKUP, deoarece aveți mai multe instanțe ale valorii de căutare (matrice de date). În schimb, utilizați o combinație de funcții SUM și LOOKUP, astfel:
=SUM(LOOKUP($C$2:$C$10,'Lookup table'!$A$2:$A$16,'Lookup table'!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))
Deoarece aceasta este o formulă de matrice, nu uitați să apăsați Ctrl + Shift + Enter pentru a o completa.
Și acum, să analizăm ingredientele formulei, astfel încât să înțelegeți cum funcționează fiecare dintre funcții și să o puteți adapta la propriile date.
Vom lăsa deoparte funcția SUM pentru o vreme, deoarece scopul ei este evident, și ne vom concentra asupra celor 3 componente care sunt înmulțite:
LOOKUP($C$2:$C$10,'Lookup table'!$A$2:$A$16,'Lookup table'!$B$2:$B$16)
Această funcție LOOKUP caută bunurile enumerate în coloana C din tabelul principal și returnează prețul corespunzător din coloana B din tabelul de căutare.
$D$2:$D$10
Această componentă returnează cantitatea fiecărui produs cumpărat de fiecare client, care este listată în coloana D din tabelul principal. Înmulțită cu prețul, care este returnat de funcția LOOKUP de mai sus, vă oferă costul fiecărui produs cumpărat.
$B$2:$B$10=$G$1
Această formulă compară numele clienților din coloana B cu numele din celula G1. Dacă se găsește o potrivire, se returnează "1", în caz contrar "0". Se utilizează pur și simplu pentru a "tăia" numele clienților, altele decât numele din celula G1, deoarece știm cu toții că orice număr înmulțit cu zero este zero.
Deoarece formula noastră este o formulă de tip array, aceasta reia procesul descris mai sus pentru fiecare valoare din tabloul de căutare. Și, în cele din urmă, funcția SUM însumează produsele tuturor înmulțirilor. Nimic dificil, nu-i așa?
Notă. Pentru ca formula LOOKUP să funcționeze corect, trebuie să sortați coloana de căutare din tabelul Lookup în ordine crescătoare (de la A la Z). Dacă sortarea nu este acceptabilă pentru datele dvs., consultați o formulă SUM / TRANSPOSE minunată sugerată de Leo.
Descărcați acest eșantion LOOKUP și SUM
VLOOKUP și SUMIF - caută & însumează valorile cu criterii
Funcția SUMIF din Excel este similară cu SUM despre care tocmai am discutat în sensul că și ea însumează valori. Diferența este că funcția SUMIF însumează doar acele valori care îndeplinesc criteriile pe care le specificați. De exemplu, cea mai simplă formulă SUMIF =SUMIF(A2:A10,">10")
adaugă valorile din celulele A2-A10 care sunt mai mari de 10.
Acest lucru este foarte simplu, nu-i așa? Și acum să luăm în considerare un scenariu puțin mai complex. Să presupunem că aveți un tabel care enumeră numele și numerele de identificare ale persoanelor de vânzări ( Tabel_de_consultare ). Aveți un alt tabel care conține aceleași ID-uri și cifrele de vânzări asociate ( Masă_principală ). Sarcina dvs. este de a găsi totalul vânzărilor realizate de o anumită persoană în funcție de ID-ul acesteia. La aceasta, există 2 factori care complică situația:
- Tabelul de corespondență conține mai multe intrări pentru același ID într-o ordine aleatorie.
- Nu puteți adăuga coloana "Nume persoane de vânzări" la tabelul principal.
Și acum, haideți să facem o formulă care, în primul rând, găsește toate vânzările realizate de o anumită persoană și, în al doilea rând, însumează valorile găsite.
Înainte de a începe cu formula, permiteți-mi să vă reamintesc sintaxa funcției SUMIF:
SUMIF(range, criteria, [sum_range])gama
- acest parametru este de la sine înțeles, fiind un simplu interval de celule pe care doriți să le evaluați în funcție de criteriile specificate.criterii
- condiția care indică formulei ce valori trebuie să însumeze. Aceasta poate fi furnizată sub forma unui număr, a unei referințe de celulă, a unei expresii sau a unei alte funcții Excel.sum_range
- acest parametru este opțional, dar foarte important pentru noi. El definește intervalul în care se vor adăuga valorile celulelor corespunzătoare. Dacă este omis, Excel însumează valorile celulelor care sunt specificate în argumentul interval (primul parametru).
Ținând cont de informațiile de mai sus, haideți să definim cei 3 parametri pentru funcția SUMIF. După cum vă amintiți, dorim să adunăm toate vânzările realizate de o anumită persoană al cărei nume este introdus în celula F2 din tabelul principal (a se vedea imaginea de mai sus).
- Gama - deoarece căutăm după ID-ul persoanei de vânzări, se va utiliza gama pentru funcția SUMIF este coloana B din tabelul principal. Astfel, puteți introduce intervalul B:B sau, dacă ați convertit datele într-un tabel, puteți utiliza în schimb numele coloanei:
Tabelul_principal[ID]
- Criterii - deoarece avem numele persoanelor de vânzare într-un alt tabel (tabel de căutare), trebuie să folosim formula VLOOKUP pentru a găsi ID-ul corespunzător unei anumite persoane. Numele persoanei este scris în celula F2 din tabelul principal, așa că îl căutăm folosind această formulă:
VLOOKUP($F$2,Lookup_table,2,FALSE)
Desigur, ați putea introduce numele în criteriile de căutare ale funcției VLOOKUP, dar utilizarea unei referințe absolute la o celulă este o abordare mai bună, deoarece astfel se creează o formulă universală care funcționează pentru orice nume introdus într-o anumită celulă.
- Intervalul sumei - Aceasta este partea cea mai ușoară. Deoarece cifrele noastre de vânzări se află în coloana C numită "Vânzări", punem pur și simplu
Tabelul_principal[Vânzări]
.Acum, tot ce trebuie să faceți este să asamblați părțile formulei și formula SUMIF + VLOOKUP este gata:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
Descărcați acest eșantion VLOOKUP și SUMIF
Modul fără formule pentru a face vlookup în Excel
În cele din urmă, permiteți-mi să vă prezint instrumentul care vă poate căuta, potrivi și uni tabelele fără funcții sau formule. Instrumentul Merge Tables inclus în suita noastră Ultimate Suite for Excel a fost conceput și dezvoltat ca o alternativă de economisire a timpului și ușor de utilizat la funcțiile VLOOKUP și LOOKUP din Excel, și poate fi foarte util atât pentru începători, cât și pentru utilizatorii avansați.
În loc să vă gândiți la formule, pur și simplu specificați tabelele principale și de căutare, definiți una sau mai multe coloane comune și spuneți-i expertului ce date doriți să extrageți.
Apoi, lăsați câteva secunde pentru ca expertul să caute, să compare și să vă ofere rezultatele. Dacă credeți că acest add-in se poate dovedi util în activitatea dumneavoastră, vă invităm să descărcați o versiune de încercare utilizând link-ul de mai jos.
Descărcări disponibile
VLOOKUP cu SUM și SUMIF - exemple de formule (.xlsx file)
Ultimate Suite - versiunea de încercare (fișier .exe)