Inhoudsopgave
In deze handleiding vindt u een handvol voorbeelden van geavanceerde formules die laten zien hoe u de functies VLOOKUP en SUM of SUMIF van Excel kunt gebruiken om waarden op te zoeken en op te tellen op basis van een of meer criteria.
Probeert u een overzichtsbestand in Excel te maken dat alle gevallen van een bepaalde waarde identificeert en vervolgens andere waarden optelt die met die gevallen verband houden? Of moet u alle waarden in een matrix vinden die aan de door u gespecificeerde voorwaarde voldoen en vervolgens de gerelateerde waarden uit een ander werkblad optellen? Of misschien staat u voor een meer concrete uitdaging, zoals het doorzoeken van een tabel vanuw bedrijfsfacturen, het identificeren van alle facturen van een bepaalde leverancier, en vervolgens het optellen van alle factuurwaarden?
De taken kunnen variëren, maar de essentie is hetzelfde - u wilt in Excel waarden opzoeken en optellen met een of meer criteria. Wat voor waarden? Alle numerieke waarden. Wat voor criteria? Alle : ) Te beginnen met een getal of een verwijzing naar een cel met de juiste waarde, en eindigend met logische operatoren en resultaten die door Excel-formules worden geretourneerd.
Heeft Microsoft Excel een functie die kan helpen bij de bovenstaande taken? Natuurlijk! U kunt een oplossing vinden door Excel's VLOOKUP of LOOKUP te combineren met de SUM- of SUMIF-functies. De formulevoorbeelden die hieronder volgen, helpen u te begrijpen hoe deze Excel-functies werken en hoe u ze kunt toepassen op echte gegevens.
Let wel, dit zijn geavanceerde voorbeelden die veronderstellen dat u vertrouwd bent met de algemene principes en syntaxis van de VLOOKUP-functie. Zo niet, dan is het eerste deel van onze VLOOKUP-tutorial voor beginners zeker uw aandacht waard - Excel VLOOKUP-syntaxis en algemeen gebruik.
Excel VLOOKUP en SUM - vind de som van overeenstemmende waarden
Als u in Excel met numerieke gegevens werkt, moet u vaak niet alleen bijbehorende waarden uit een andere tabel halen, maar ook getallen in verschillende kolommen of rijen bij elkaar optellen. Hiervoor kunt u een combinatie van de functies SUM en VLOOKUP gebruiken, zoals hieronder wordt gedemonstreerd.
Brongegevens:
Stel, u hebt een productlijst met verkoopcijfers voor verschillende maanden, een kolom per maand. De brongegevens staan op het blad met de naam Maandelijkse verkoop :
Nu wilt u een overzichtstabel maken met de totale verkoop voor elk product.
De oplossing is het gebruik van een array in de 3e parameter ( col_index_num ) van de Excel VLOOKUP-functie. Hier is een algemene formule:
SUM(VLOOKUP( opzoekwaarde , opzoekbereik , {2,3,...,n}, FALSE))Zoals u ziet, gebruiken we een arrayconstante in het derde argument om verschillende lookups uit te voeren binnen dezelfde VLOOKUP-formule om de som van de waarden in de kolommen 2, 3 en 4 te krijgen.
En nu passen we deze combinatie van VLOOKUP- en SUM-functies aan voor onze gegevens om het totaal van de verkopen in de kolommen B - M in bovenstaande tabel te vinden:
=SUM(VLOOKUP(B2, "Maandelijkse verkoop"! $A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))
Belangrijk! Omdat u een matrixformule maakt, moet u op Ctrl + Shift + Enter drukken in plaats van op de Enter-toets wanneer u klaar bent met typen. Wanneer u dit doet, omsluit Microsoft Excel uw formule met accolades zoals deze:
{=SUM(VLOOKUP(B2, "Maandelijkse verkoop"!$A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))} }
Als u op de Ga naar sleutel zoals gewoonlijk, wordt alleen de eerste waarde in de array verwerkt, hetgeen onjuiste resultaten oplevert.
Tip. U bent misschien nieuwsgierig waarom de formule [@Product] weergeeft als de lookup-waarde in de schermafbeelding hierboven. Dat komt omdat ik mijn gegevens heb omgezet naar een tabel ( Plaats tab> Tabel ). Ik vind het erg handig om te werken met volledig functionele Excel-tabellen en hun gestructureerde verwijzingen. Wanneer je bijvoorbeeld een formule in een cel typt, kopieert Excel deze automatisch over de hele kolom en bespaart je zo een paar kostbare seconden :)
Zoals u ziet, is het gebruik van de functies VLOOKUP en SUM in Excel eenvoudig. Dit is echter niet de ideale oplossing, vooral als u met grote tabellen werkt. Het punt is dat het gebruik van matrixformules de prestaties van de werkmap nadelig kan beïnvloeden, omdat elke waarde in de matrix een afzonderlijke aanroep van de VLOOKUP-functie doet. Dus hoe meer waarden u in de matrix hebt en hoe meer matrixformules u hebt inuw werkmap, hoe trager Excel werkt.
U kunt dit probleem omzeilen door een combinatie van de functies INDEX en MATCH te gebruiken in plaats van SUM en VLOOKUP, en ik zal u in het volgende artikel enkele formulevoorbeelden laten zien.
Download dit voorbeeld van VLOOKUP en SUM
Hoe andere berekeningen uitvoeren met Excel VLOOKUP-functie
Zojuist bespraken we een voorbeeld van hoe u waarden uit verschillende kolommen in de opzoektabel kunt halen en de som van die waarden kunt berekenen. Op dezelfde manier kunt u andere wiskundige berekeningen uitvoeren met de resultaten die de VLOOKUP-functie oplevert. Hier volgen enkele formulevoorbeelden:
Operatie | Formule voorbeeld | Beschrijving |
---|---|---|
Bereken het gemiddelde | {=AVERAGE(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | De formule zoekt de waarde van cel A2 in de "Lookup table" en berekent het gemiddelde van de waarden in de kolommen B, C en D in dezelfde rij. |
Maximale waarde vinden | {=MAX(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} }. | De formule zoekt de waarde van cel A2 in de "Lookup table" en vindt de maximumwaarde in de kolommen B, C en D in dezelfde rij. |
Minimale waarde vinden | {=MIN(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} }. | De formule zoekt de waarde van cel A2 in de "Lookup table" en vindt de min-waarde in de kolommen B, C en D in dezelfde rij. |
Bereken % van de som | {=0.3*SUM(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} }. | De formule zoekt de waarde van cel A2 in de "Lookup table", telt de waarden in de kolommen B,C en D in dezelfde rij bij elkaar op, en berekent dan 30% van de som. |
Opmerking. Aangezien alle bovenstaande formules matrixformules zijn, moet u niet vergeten op Ctrl+Shift+Enter te drukken om ze correct in een cel in te voeren.
Als we bovenstaande formules toevoegen aan de tabel "Samenvatting verkoop" uit het vorige voorbeeld, ziet het resultaat er ongeveer zo uit:
Download dit voorbeeld van VLOOKUP-berekeningen
LOOKUP AND SUM - opzoeken in array en optellen van overeenkomende waarden
Indien uw opzoekparameter een array is in plaats van een enkele waarde, heeft de VLOOKUP-functie geen nut omdat deze niet kan opzoeken in gegevensarrays. In dit geval kunt u de LOOKUP-functie van Excel gebruiken, die analoog is aan VLOOKUP maar zowel met arrays als met individuele waarden werkt.
Laten we het volgende voorbeeld bekijken, zodat u beter begrijpt waar ik het over heb. Stel, u hebt een tabel met klantnamen, gekochte producten en hoeveelheid ( Hoofdtabel U hebt ook een tweede tabel met de productprijzen ( Opzoektabel Uw taak is een formule te maken die het totaal vindt van alle bestellingen van een bepaalde klant.
Zoals u zich herinnert, kunt u de Excel VLOOKUP-functie niet gebruiken omdat u meerdere instanties van de zoekwaarde (array van gegevens) hebt. In plaats daarvan gebruikt u een combinatie van SUM- en LOOKUP-functies zoals deze:
=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))
Omdat dit een matrixformule is, moet u op Ctrl + Shift + Enter drukken om de formule te voltooien.
En nu analyseren we de ingrediënten van de formule, zodat u begrijpt hoe elk van de functies werkt en deze kunt aanpassen aan uw eigen gegevens.
We laten de SUM-functie even buiten beschouwing, omdat het doel ervan duidelijk is, en richten ons op de 3 componenten die worden vermenigvuldigd:
LOOKUP($C$2:$C$10,'Lookup table'!$A$2:$A$16,'Lookup table'!$B$2:$B$16)
Deze LOOKUP-functie zoekt de goederen op uit kolom C in de hoofdtabel, en geeft de overeenkomstige prijs terug uit kolom B in de opzoektabel.
$D$2:$D$10
Deze component geeft de hoeveelheid van elk door elke klant gekocht product, die in kolom D van de hoofdtabel staat. Vermenigvuldigd met de prijs, die door de LOOKUP-functie hierboven wordt teruggegeven, geeft dit de kosten van elk gekocht product.
$B$2:$B$10=$G$1
Deze formule vergelijkt de namen van de klanten in kolom B met de naam in cel G1. Als er een overeenkomst wordt gevonden, wordt "1" geretourneerd, anders "0". U gebruikt deze formule gewoon om andere namen van klanten dan de naam in cel G1 "af te snijden", omdat we allemaal weten dat elk getal vermenigvuldigd met nul nul nul is.
Omdat onze formule een matrixformule is, wordt het hierboven beschreven proces herhaald voor elke waarde in de lookup-array. En tenslotte telt de SUM-functie de producten van alle vermenigvuldigingen bij elkaar op. Helemaal niets moeilijks, toch?
Opmerking: Om de LOOKUP-formule correct te laten werken, moet u de lookup-kolom in uw lookup-tabel oplopend sorteren (van A tot Z). Als sorteren op uw gegevens niet aanvaardbaar is, bekijk dan een geweldige SUM / TRANSPOSE-formule, voorgesteld door Leo.
Download dit voorbeeld van LOOKUP en SUM
VLOOKUP en SUMIF - zoek & som waarden op met criteria
De SUMIF-functie van Excel is vergelijkbaar met de zojuist besproken SUM, in die zin dat zij ook waarden optelt. Het verschil is dat de SUMIF-functie alleen die waarden optelt die voldoen aan de door u opgegeven criteria. Bijvoorbeeld, de eenvoudigste SUMIF-formule =SUMIF(A2:A10,">10")
telt de waarden in de cellen A2 tot A10 op die groter zijn dan 10.
Dit is heel eenvoudig, toch? En laten we nu een iets complexer scenario bekijken. Stel dat u een tabel hebt met de namen en ID-nummers van de verkopers ( Opzoekingstabel Je hebt een andere tabel die dezelfde ID's en bijbehorende verkoopcijfers bevat ( Hoofdtabel ). Uw taak is om het totaal van de verkopen van een bepaalde persoon te vinden aan de hand van zijn ID. Daarbij zijn er 2 complicerende factoren:
- De posttabel bevat meerdere vermeldingen voor hetzelfde ID in een willekeurige volgorde.
- U kunt de kolom "Namen van verkopers" niet toevoegen aan de hoofdtabel.
En laten we nu een formule maken die ten eerste alle verkopen van een bepaalde persoon vindt, en ten tweede de gevonden waarden bij elkaar optelt.
Voordat we aan de formule beginnen, herinner ik u aan de syntaxis van de SUMIF-functie:
SUMIF(bereik, criteria, [som_bereik])reeks
- deze parameter spreekt voor zich, gewoon een bereik van cellen die u wilt evalueren volgens de opgegeven criteria.criteria
- de voorwaarde die de formule vertelt welke waarden moeten worden opgeteld. Deze kan worden geleverd in de vorm van een getal, celverwijzing, uitdrukking of een andere Excel-functie.som_bereik
- deze parameter is optioneel, maar zeer belangrijk voor ons. Hij definieert het bereik waar de waarden van de overeenkomstige cellen moeten worden toegevoegd. Indien hij wordt weggelaten, telt Excel de waarden op van de cellen die zijn opgegeven in het argument bereik (1e parameter).
Met de bovenstaande informatie in gedachten, definiëren we de 3 parameters voor onze SUMIF-functie. Zoals u zich herinnert, willen we alle verkopen optellen van een bepaalde persoon wiens naam is ingevoerd in cel F2 in de hoofdtabel (zie bovenstaande afbeelding).
- Bereik - omdat we zoeken op ID van de verkoper, de reeks parameter voor onze SUMIF-functie is kolom B in de hoofdtabel. U kunt dus het bereik B:B invoeren, of als u uw gegevens omzet in een tabel, kunt u in plaats daarvan de naam van de kolom gebruiken:
Main_table[ID]
- Criteria - omdat we de namen van de verkopers in een andere tabel hebben (lookup tabel), moeten we de formule VLOOKUP gebruiken om de ID van een bepaalde persoon te vinden. De naam van de persoon staat in cel F2 van de hoofdtabel, dus zoeken we die op met deze formule:
VLOOKUP($F$2,Lookup_table,2,FALSE)
Natuurlijk zou u de naam kunnen invoeren in de opzoekcriteria van uw VLOOKUP-functie, maar het gebruik van een absolute celverwijzing is een betere aanpak, omdat dit een universele formule oplevert die werkt voor elke naam die in een bepaalde cel wordt ingevoerd.
- Som bereik - Dit is het gemakkelijkste deel. Aangezien onze verkoopcijfers in kolom C "Verkoop" staan, zetten we gewoon
Main_table[Sales]
.Nu hoeft u alleen nog maar de onderdelen van de formule samen te voegen en uw SUMIF + VLOOKUP-formule is klaar:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
Download dit VLOOKUP- en SUMIF-voorbeeld
Formulevrije manier om vlookup te doen in Excel
Laat me u tenslotte kennis laten maken met de tool die uw tabellen kan opzoeken, matchen en samenvoegen zonder functies of formules. De tool Samenvoegen van tabellen die is opgenomen in onze Ultimate Suite voor Excel is ontworpen en ontwikkeld als een tijdbesparend en gebruiksvriendelijk alternatief voor de VLOOKUP- en LOOKUP-functies van Excel, en kan zeer nuttig zijn voor zowel beginners als gevorderden.
In plaats van formules uit te werken, hoeft u alleen maar uw hoofd- en lookuptabellen op te geven, een of meer gemeenschappelijke kolommen te definiëren en de wizard te vertellen welke gegevens u wilt ophalen.
Vervolgens geeft u de wizard een paar seconden de tijd om de resultaten op te zoeken, te matchen en te leveren. Als u denkt dat deze invoegtoepassing nuttig kan zijn voor uw werk, bent u van harte welkom om een proefversie te downloaden via de onderstaande link.
Beschikbare downloads
VLOOKUP met SUM en SUMIF - formulevoorbeelden (.xlsx bestand)
Ultimate Suite - proefversie (.exe bestand)