Indholdsfortegnelse
I denne vejledning finder du en håndfuld eksempler på avancerede formler, der viser, hvordan du kan bruge Excel's VLOOKUP- og SUM- eller SUMIF-funktioner til at slå op og summere værdier baseret på et eller flere kriterier.
Forsøger du at oprette en oversigtsfil i Excel, der identificerer alle forekomster af en bestemt værdi og derefter summerer andre værdier, der er forbundet med disse forekomster? Eller skal du finde alle værdier i et array, der opfylder den betingelse, du angiver, og derefter summere de relaterede værdier fra et andet regneark? Eller måske står du over for en mere konkret udfordring, som at kigge gennem en tabel meddine virksomheds fakturaer, identificere alle fakturaer fra en bestemt leverandør og derefter summere alle fakturaernes værdier?
Opgaverne kan variere, men essensen er den samme - du ønsker at søge efter og summere værdier med et eller flere kriterier i Excel. Hvilken slags værdier? Alle numeriske værdier. Hvilken slags kriterier? Alle : ) Fra et tal eller en henvisning til en celle, der indeholder den rigtige værdi, og slutter med logiske operatorer og resultater, der returneres af Excel-formler.
Har Microsoft Excel så nogen funktionalitet, der kan hjælpe dig med ovenstående opgaver? Selvfølgelig har det det det! Du kan finde en løsning ved at kombinere Excels VLOOKUP eller LOOKUP med SUM eller SUMIF-funktionerne. De nedenstående eksempler på formler vil hjælpe dig med at forstå, hvordan disse Excel-funktioner fungerer, og hvordan du kan anvende dem på rigtige data.
Bemærk, at der er tale om avancerede eksempler, som forudsætter, at du er bekendt med de generelle principper og syntaks for VLOOKUP-funktionen. Hvis ikke, er første del af vores VLOOKUP-vejledning for begyndere bestemt værd at læse - Excel VLOOKUP-syntaks og generelle anvendelser.
Excel VLOOKUP og SUM - find summen af matchende værdier
Hvis du arbejder med numeriske data i Excel, skal du ofte ikke blot udtrække tilhørende værdier fra en anden tabel, men også summere tal i flere kolonner eller rækker. For at gøre dette kan du bruge en kombination af funktionerne SUM og VLOOKUP, som vist nedenfor.
Kildeoplysninger:
Antag, at du har en produktliste med salgstal for flere måneder, en kolonne for hver måned. Kildedataene findes på arket med navnet Månedligt salg :
Nu vil du lave en oversigtstabel med det samlede salg for hvert produkt.
Løsningen er at bruge et array i den tredje parameter ( col_index_num ) i Excel VLOOKUP-funktionen. Her er en generisk formel:
SUM(VLOOKUP( opslagsværdi , opslagsinterval , {2,3,...,n}, FALSE)))Som du kan se, bruger vi en array-konstant i det tredje argument til at udføre flere opslag inden for den samme VLOOKUP-formel for at få summen af værdierne i kolonne 2,3 og 4.
Lad os nu justere denne kombination af VLOOKUP- og SUM-funktioner til vores data for at finde det samlede salg i kolonnerne B - M i ovenstående tabel:
=SUM(VLOOKUP(B2, "Månedligt salg"! $A$2:$M$9, {2,3,4,5,6,7,8,8,9,10,11,12,13}, FALSE))
Vigtigt! Da du opbygger en array-formel, skal du huske at trykke Ctrl + Shift + Enter i stedet for et simpelt Enter-tastetryk, når du er færdig med at skrive. Når du gør dette, omslutter Microsoft Excel din formel i parenteser som her:
{=SUM(VLOOKUP(B2, 'Månedligt salg'!$A$2:$M$9, {2,3,4,5,6,7,8,8,9,10,11,12,13}, FALSE))}
Hvis du trykker på Indtast nøgle som normalt, vil kun den første værdi i arrayet blive behandlet, hvilket vil give forkerte resultater.
Tip. Du er måske nysgerrig efter at vide, hvorfor formlen viser [@Product] som opslagsværdi i skærmbilledet ovenfor. Det skyldes, at jeg konverterede mine data til tabel ( Indsæt faneblad> Tabel ). Jeg synes, det er meget praktisk at arbejde med fuldt funktionelle Excel-tabeller og deres strukturerede referencer. Når du f.eks. skriver en formel i en celle, kopierer Excel den automatisk over hele kolonnen og sparer på den måde et par dyrebare sekunder :)
Som du kan se, er det nemt at bruge VLOOKUP- og SUM-funktionerne i Excel. Det er dog ikke den ideelle løsning, især ikke hvis du arbejder med store tabeller. Pointen er, at brugen af array-formler kan påvirke regnearkets ydeevne negativt, da hver værdi i arrayet foretager et separat kald af VLOOKUP-funktionen. Så jo flere værdier du har i arrayet, og jo flere array-formler du har idin projektmappe, jo langsommere arbejder Excel.
Du kan omgå dette problem ved at bruge en kombination af INDEX- og MATCH-funktionerne i stedet for SUM og VLOOKUP, og jeg vil vise dig et par eksempler på formler i den næste artikel.
Download denne VLOOKUP- og SUM-eksempel
Sådan udfører du andre beregninger med Excel VLOOKUP-funktionen
For et øjeblik siden diskuterede vi et eksempel på, hvordan du kan udtrække værdier fra flere kolonner i opslagstabellen og beregne summen af disse værdier. På samme måde kan du udføre andre matematiske beregninger med de resultater, der returneres af VLOOKUP-funktionen. Her er et par eksempler på formler:
Operation | Eksempel på en formel | Beskrivelse |
---|---|---|
Beregne gennemsnit | {=AVERAGE(VLOOKUP(A2, 'Opslagstabel'$A$2:$D$10, {2,3,4}, FALSE))} | Formlen søger efter værdien af celle A2 i "Opslagstabel" og beregner gennemsnittet af værdierne i kolonne B,C og D i samme række. |
Find den maksimale værdi | {=MAX(VLOOKUP(A2, 'Opslagstabel'$A$2:$D$10, {2,3,4}, FALSE))} | Formlen søger efter værdien af celle A2 i "Opslagstabel" og finder den maksimale værdi i kolonne B,C og D i samme række. |
Find mindsteværdi | {=MIN(VLOOKUP(A2, 'Opslagstabel'$A$2:$D$10, {2,3,4}, FALSE))} | Formlen søger efter værdien af celle A2 i "Opslagstabel" og finder den mindste værdi i kolonne B,C og D i samme række. |
Beregne % af summen | {=0.3*SUM(VLOOKUP(A2, 'Opslagstabel'$A$2:$D$10, {2,3,4}, FALSE))} | Formlen søger efter værdien af celle A2 i "Opslagstabel", summerer værdierne i kolonne B,C og D i samme række og beregner derefter 30 % af summen. |
Bemærk: Da alle ovenstående formler er array-formler, skal du huske at trykke på Ctrl+Shift+Enter for at indtaste dem korrekt i en celle.
Hvis vi tilføjer ovenstående formler til tabellen "Oversigt over salg" fra det foregående eksempel, vil resultatet se således ud:
Download denne prøve på VLOOKUP-beregninger
LOOKUP AND SUM - slå op i arrayet og summere matchende værdier
Hvis din opslagsparameter er et array i stedet for en enkelt værdi, er VLOOKUP-funktionen ikke til nogen nytte, fordi den ikke kan slå op i dataarrays. I dette tilfælde kan du bruge Excels LOOKUP-funktion, som er analog med VLOOKUP, men som fungerer med arrays såvel som med individuelle værdier.
Lad os se på følgende eksempel, så du bedre kan forstå, hvad jeg taler om: Antag, at du har en tabel, der indeholder kundenavne, købte produkter og mængde ( Hovedbord ). Du har også en anden tabel med produktpriserne ( Opslagstabel ). Din opgave er at lave en formel, der finder summen af alle ordrer, der er afgivet af en given kunde.
Som du husker, kan du ikke bruge Excel VLOOKUP-funktionen, da du har flere forekomster af opslagsværdien (array af data). I stedet skal du bruge en kombination af SUM og LOOKUP-funktioner som her:
=SUM(LOOKUP($C$2:$C$10,'Opslagstabel'!$A$2:$A$16,'Opslagstabel'!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))
Da dette er en array-formel, skal du huske at trykke på Ctrl + Shift + Enter for at afslutte den.
Lad os nu analysere formelens ingredienser, så du forstår, hvordan hver enkelt funktion fungerer, og så du kan tilpasse den til dine egne data.
Vi glemmer SUM-funktionen for et øjeblik, fordi dens formål er indlysende, og fokuserer på de 3 komponenter, der ganges:
LOOKUP($C$2:$C$10,'Opslagstabel'!$A$2:$A$16,'Opslagstabel'!$B$2:$B$16)
Denne LOOKUP-funktion søger de varer, der er anført i kolonne C i hovedtabellen, og returnerer den tilsvarende pris fra kolonne B i opslagstabellen.
$D$2:$D$10
Denne komponent returnerer mængden af hvert produkt, der er købt af hver kunde, som er anført i kolonne D i hovedtabellen. Multipliceret med prisen, som returneres af LOOKUP-funktionen ovenfor, giver det dig prisen for hvert købt produkt.
$B$2:$B$10=$G$1
Denne formel sammenligner kundernes navne i kolonne B med navnet i celle G1. Hvis der findes et match, returnerer den "1", ellers "0". Du bruger den blot til at "afskære" andre kunders navne end navnet i celle G1, da vi alle ved, at ethvert tal ganget med nul er nul.
Fordi vores formel er en array-formel, gentages den ovenfor beskrevne proces for hver værdi i opslagsarrayet. Og til sidst summerer SUM-funktionen produkterne af alle multiplikationer. Det er slet ikke så svært, vel?
Bemærk: For at LOOKUP-formlen kan fungere korrekt, skal du sortere opslagskolonnen i din opslagstabel i stigende orden (fra A til Z). Hvis sortering ikke er acceptabel for dine data, kan du tjekke en fantastisk SUM / TRANSPOSE-formel foreslået af Leo.
Download denne LOOKUP- og SUM-eksempel
VLOOKUP og SUMIF - slå op & summér værdier med kriterier
Excels SUMIF-funktion ligner SUM, som vi lige har diskuteret, idet den også summerer værdier. Forskellen er, at SUMIF-funktionen kun summerer de værdier, der opfylder de kriterier, du angiver. For eksempel kan den enkleste SUMIF-formel være =SUMIF(A2:A10,">10")
lægger de værdier i cellerne A2 til A10, der er større end 10, sammen.
Det er meget nemt, ikke? Lad os nu se på et lidt mere komplekst scenarie. Lad os antage, at du har en tabel, der indeholder en liste over salgspersonalets navne og ID-numre ( Opslag_tabel ). Du har en anden tabel, der indeholder de samme ID'er og de tilhørende salgstal ( Main_table ). Din opgave er at finde det samlede salg, som en given person har foretaget ved hjælp af sit ID. I den forbindelse er der 2 komplicerende faktorer:
- Posttabellen indeholder flere poster for det samme ID i tilfældig rækkefølge.
- Du kan ikke tilføje kolonnen "Navne på salgspersoner" til hovedtabellen.
Og lad os nu lave en formel, der for det første finder alle salg foretaget af en given person og for det andet summerer de fundne værdier.
Før vi begynder på formlen, skal jeg minde dig om syntaksen for SUMIF-funktionen:
SUMIF(interval, kriterier, [sum_range])rækkevidde
- denne parameter er selvforklarende, blot et område af celler, som du vil evaluere efter de angivne kriterier.kriterier
- den betingelse, der fortæller formlen, hvilke værdier der skal summeres. Den kan angives i form af et tal, en cellehenvisning, et udtryk eller en anden Excel-funktion.sum_range
- denne parameter er valgfri, men meget vigtig for os. Den definerer det område, hvor de tilsvarende cellers værdier skal lægges sammen. Hvis den udelades, summerer Excel værdierne af de celler, der er angivet i intervallet (1. parameter).
Lad os med ovenstående oplysninger i baghovedet definere de 3 parametre for vores SUMIF-funktion. Som du husker, ønsker vi at summere alt salg foretaget af en given person, hvis navn er angivet i celle F2 i hovedtabellen (se billedet ovenfor).
- Område - da vi søger efter sælger-id, skal rækkevidde parameter for vores SUMIF-funktion er kolonne B i hovedtabellen. Du kan derfor indtaste intervallet B:B, eller hvis du konverterer dine data til en tabel, kan du bruge kolonnens navn i stedet:
Main_table[ID]
- Kriterier - da vi har navnene på salgspersoner i en anden tabel (opslagstabel), skal vi bruge VLOOKUP-formlen til at finde det ID, der svarer til en given person. Personens navn står i celle F2 i hovedtabellen, så vi slår det op ved hjælp af denne formel:
VLOOKUP($F$2,Lookup_table,2,FALSE)
Du kan selvfølgelig indtaste navnet i opslagskriterierne i din VLOOKUP-funktion, men det er bedre at bruge en absolut cellehenvisning, fordi det skaber en universel formel, der fungerer for alle navne, der indtastes i en given celle.
- Sumområde - Dette er den nemmeste del. Da vores salgstal står i kolonne C med navnet "Salg", skal vi blot sætte
Main_table[Salg]
.Nu skal du blot samle formlens dele, og så er din SUMIF + VLOOKUP-formel klar:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
Download denne VLOOKUP- og SUMIF-eksempel
Formel-fri måde at lave vlookup i Excel på
Lad mig endelig præsentere dig for det værktøj, der kan slå op, matche og flette dine tabeller uden funktioner eller formler. Værktøjet Merge Tables, der er inkluderet i vores Ultimate Suite for Excel, er designet og udviklet som et tidsbesparende og brugervenligt alternativ til Excels VLOOKUP- og LOOKUP-funktioner, og det kan være meget nyttigt både for begyndere og avancerede brugere.
I stedet for at finde ud af formler skal du blot angive dine hoved- og opslagstabeller, definere en eller flere fælles kolonner og fortælle guiden, hvilke data du vil hente.
Derefter giver du guiden et par sekunder til at søge, matche og levere resultaterne. Hvis du mener, at denne tilføjelse kan være nyttig i dit arbejde, er du velkommen til at downloade en prøveversion ved at bruge nedenstående link.
Tilgængelige downloads
VLOOKUP med SUM og SUMIF - eksempler på formler (.xlsx-fil)
Ultimate Suite - prøveversion (.exe-fil)