Innehållsförteckning
I den här handledningen hittar du en handfull avancerade formelexempel som visar hur du använder Excels funktioner VLOOKUP och SUM eller SUMIF för att söka upp och summera värden baserat på ett eller flera kriterier.
Försöker du skapa en sammanfattningsfil i Excel som identifierar alla förekomster av ett visst värde och sedan summerar andra värden som är associerade med dessa förekomster? Eller behöver du hitta alla värden i en matris som uppfyller det villkor du anger och sedan summera de relaterade värdena från ett annat kalkylblad? Eller kanske står du inför en mer konkret utmaning, som att titta igenom en tabell medföretagets fakturor, identifiera alla fakturor från en viss leverantör och sedan summera alla fakturavärden?
Uppgifterna kan variera, men kärnan är densamma - du vill söka upp och summera värden med ett eller flera kriterier i Excel. Vilken typ av värden? Alla numeriska värden. Vilken typ av kriterier? Alla : ) Från ett nummer eller en hänvisning till en cell som innehåller rätt värde till logiska operatörer och resultat som returneras av Excel-formler.
Har Microsoft Excel någon funktion som kan hjälpa dig med ovanstående uppgifter? Självklart har det det! Du kan hitta en lösning genom att kombinera Excels VLOOKUP eller LOOKUP med SUM eller SUMIF-funktionerna. Formelexemplen nedan hjälper dig att förstå hur dessa Excel-funktioner fungerar och hur du kan tillämpa dem på riktiga data.
Observera att det här är avancerade exempel som förutsätter att du är bekant med de allmänna principerna och syntaxen för VLOOKUP-funktionen. Om du inte är bekant med dem är den första delen av vår VLOOKUP-handledning för nybörjare värd din uppmärksamhet - Excel VLOOKUP-syntax och allmänna användningsområden.
Excel VLOOKUP och SUM - hitta summan av matchande värden
Om du arbetar med numeriska data i Excel måste du ofta inte bara extrahera tillhörande värden från en annan tabell utan också summera siffror i flera kolumner eller rader. För att göra detta kan du använda en kombination av funktionerna SUM och VLOOKUP, som visas nedan.
Källdata:
Anta att du har en produktlista med försäljningssiffror för flera månader, en kolumn per månad. Källdata finns på arket som heter Försäljning per månad :
Nu vill du göra en sammanfattningstabell med den totala försäljningen för varje produkt.
Lösningen är att använda en array i den tredje parametern ( col_index_num ) i Excel-funktionen VLOOKUP. Här är en generisk formel:
SUMMA(VLOOKUP( Uppslagsvärde , Uppslagsintervall. , {2,3,...,n}, FALSE)))Som du ser använder vi en arraykonstant i det tredje argumentet för att utföra flera sökningar inom samma VLOOKUP-formel för att få fram summan av värdena i kolumnerna 2,3 och 4.
Låt oss nu anpassa denna kombination av VLOOKUP- och SUM-funktionerna till våra data för att hitta den totala försäljningen i kolumnerna B - M i tabellen ovan:
=SUM(VLOOKUP(B2, 'Månadsförsäljning'! $A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))
Viktigt! Eftersom du skapar en arrayformel ska du trycka på Ctrl + Shift + Enter i stället för att bara trycka på Enter när du är klar med att skriva. När du gör det omsluter Microsoft Excel formeln med häftklamrar på det här sättet:
{=SUM(VLOOKUP(B2, 'Månadsförsäljning'!$A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))}
Om du trycker på Gå in på nyckel som vanligt kommer endast det första värdet i matrisen att bearbetas, vilket kommer att ge felaktiga resultat.
Tips: Du kanske är nyfiken på varför formeln visar [@Product] som uppslagsvärde i skärmdumpen ovan. Det beror på att jag konverterade mina data till en tabell ( Infoga flik> Tabell ). Jag tycker att det är mycket bekvämt att arbeta med fullt fungerande Excel-tabeller och deras strukturerade referenser. När du t.ex. skriver en formel i en cell kopierar Excel den automatiskt över hela kolumnen och sparar på så sätt några dyrbara sekunder :)
Som du ser är det enkelt att använda funktionerna VLOOKUP och SUM i Excel. Detta är dock inte den idealiska lösningen, särskilt inte om du arbetar med stora tabeller. Poängen är att användningen av arrayformler kan påverka arbetsbokens prestanda negativt eftersom varje värde i arrayen gör ett separat anrop av VLOOKUP-funktionen. Så ju fler värden du har i arrayen och ju fler arrayformler du har iarbetsboken, desto långsammare arbetar Excel.
Du kan kringgå det här problemet genom att använda en kombination av funktionerna INDEX och MATCH i stället för SUM och VLOOKUP, och jag kommer att visa dig några exempel på formler i nästa artikel.
Ladda ner det här exemplet på VLOOKUP och SUM
Hur man utför andra beräkningar med Excel VLOOKUP-funktionen
För en stund sedan diskuterade vi ett exempel på hur du kan hämta värden från flera kolumner i uppslagstabellen och beräkna summan av dessa värden. På samma sätt kan du utföra andra matematiska beräkningar med de resultat som returneras av VLOOKUP-funktionen. Här är några exempel på formler:
Operation | Exempel på en formel | Beskrivning |
---|---|---|
Beräkna genomsnittet | {=AVERAGE(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formeln söker efter värdet i cell A2 i "Lookup table" och beräknar medelvärdet av värdena i kolumnerna B, C och D på samma rad. |
Hitta maximalt värde | {=MAX(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formeln söker efter värdet i cell A2 i "Lookup table" och hittar det högsta värdet i kolumnerna B, C och D på samma rad. |
Hitta lägsta värde | {=MIN(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formeln söker efter värdet i cell A2 i "Lookup table" och hittar det lägsta värdet i kolumnerna B, C och D på samma rad. |
Beräkna % av summan | {=0.3*SUM(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Formeln söker efter värdet i cell A2 i "Lookup table", summerar värdena i kolumnerna B,C och D på samma rad och beräknar sedan 30 % av summan. |
Eftersom alla ovanstående formler är arrayformler, kom ihåg att trycka på Ctrl+Shift+Enter för att skriva in dem korrekt i en cell.
Om vi lägger till ovanstående formler i tabellen "Sammanfattning av försäljningen" från föregående exempel kommer resultatet att se ut så här:
Ladda ner detta exempel på VLOOKUP-beräkningar
LOOKUP AND SUM - sök i en matris och summera matchande värden
Om din uppslagsparameter är en matris snarare än ett enskilt värde är VLOOKUP-funktionen inte användbar eftersom den inte kan söka i datamatriser. I det här fallet kan du använda Excels LOOKUP-funktion som är analog med VLOOKUP men som fungerar med matriser såväl som med enskilda värden.
Låt oss ta följande exempel så att du bättre kan förstå vad jag talar om: Anta att du har en tabell som listar kundnamn, köpta produkter och kvantitet ( Huvudbord ). Du har också en andra tabell som innehåller produktpriserna ( Uppslagstabell ). Din uppgift är att skapa en formel som visar summan av alla beställningar från en viss kund.
Som du minns kan du inte använda Excel-funktionen VLOOKUP eftersom du har flera instanser av uppslagsvärdet (matris av data). Istället använder du en kombination av funktionerna SUM och LOOKUP på följande sätt:
=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))
Eftersom det här är en matrisformel ska du komma ihåg att trycka på Ctrl + Shift + Enter för att slutföra den.
Låt oss nu analysera formelens ingredienser så att du förstår hur varje funktion fungerar och kan anpassa den till dina egna data.
Vi lägger SUM-funktionen åt sidan ett tag, eftersom dess syfte är uppenbart, och fokuserar på de tre komponenterna som multipliceras:
LOOKUP($C$2:$C$10,'Lookup table'!$A$2:$A$16,'Lookup table'!$B$2:$B$16)
Denna LOOKUP-funktion söker upp de varor som anges i kolumn C i huvudtabellen och returnerar motsvarande pris från kolumn B i uppslagstabellen.
$D$2:$D$10
Den här komponenten returnerar kvantiteten av varje produkt som köpts av varje kund, som anges i kolumn D i huvudtabellen. Multiplicerat med priset, som returneras av LOOKUP-funktionen ovan, får du kostnaden för varje köpt produkt.
$B$2:$B$10=$G$1
Den här formeln jämför kundernas namn i kolumn B med namnet i cell G1. Om en matchning hittas returnerar den "1", annars "0". Du använder den helt enkelt för att "stänga av" andra kundnamn än namnet i cell G1, eftersom vi alla vet att varje tal multiplicerat med noll är noll.
Eftersom vår formel är en array-formel upprepar den den process som beskrivs ovan för varje värde i uppslagsmatrisen. Och slutligen summerar SUM-funktionen produkterna av alla multiplikationer. Det är väl inte alls så svårt, eller hur?
Observera: För att LOOKUP-formeln ska fungera korrekt måste du sortera kolumnen i din Lookup-tabell i stigande ordning (från A till Z). Om sortering inte är acceptabel för dina data kan du kolla in en fantastisk SUM / TRANSPOSE-formel som Leo har föreslagit.
Ladda ner detta exempel på LOOKUP och SUM
VLOOKUP och SUMIF - slå upp & summera värden med kriterier
Excels SUMIF-funktion liknar SUM som vi nyss diskuterade på det sätt att den också summerar värden. Skillnaden är att SUMIF-funktionen bara summerar de värden som uppfyller de kriterier som du anger. Den enklaste SUMIF-formeln kan till exempel vara följande =SUMIF(A2:A10,">10")
lägger till de värden i cellerna A2 till A10 som är större än 10.
Det här är väldigt enkelt, eller hur? Låt oss nu tänka på ett lite mer komplicerat scenario. Anta att du har en tabell som listar säljpersonernas namn och ID-nummer ( Lookup_table Du har en annan tabell som innehåller samma ID:n och tillhörande försäljningssiffror ( Main_table ). Din uppgift är att ta reda på den totala försäljningen av en viss person med hjälp av dennes ID. Det finns dock två komplicerande faktorer:
- E-posttabellen innehåller flera poster för samma ID i slumpmässig ordning.
- Du kan inte lägga till kolumnen "Namn på säljare" i huvudtabellen.
Låt oss nu skapa en formel som för det första hittar alla försäljningar som gjorts av en viss person och för det andra summerar de funna värdena.
Innan vi börjar med formeln vill jag påminna dig om syntaxen för SUMIF-funktionen:
SUMIF(intervall, kriterier, [sum_range])sortiment
- Den här parametern är självförklarande, helt enkelt ett intervall av celler som du vill utvärdera enligt de angivna kriterierna.kriterier
- villkoret som talar om för formeln vilka värden som ska summeras. Det kan anges i form av ett tal, en cellreferens, ett uttryck eller en annan Excel-funktion.sum_range
- Den här parametern är valfri, men mycket viktig för oss. Den definierar intervallet där motsvarande cellvärden ska läggas till. Om den inte anges summerar Excel värdena för de celler som anges i intervallargumentet (första parametern).
Med ovanstående information i åtanke definierar vi de tre parametrarna för vår SUMIF-funktion. Som du minns vill vi summera all försäljning som gjorts av en viss person vars namn anges i cell F2 i huvudtabellen (se bilden ovan).
- Utbud - eftersom vi söker efter ID för säljare, är det sortiment parametern för vår SUMIF-funktion är kolumn B i huvudtabellen. Du kan alltså ange intervallet B:B, eller om du konverterar data till en tabell kan du använda kolumnens namn i stället:
Main_table[ID]
- Kriterier - Eftersom vi har namnen på försäljningspersonerna i en annan tabell (uppslagstabell) måste vi använda formeln VLOOKUP för att hitta det ID som motsvarar en viss person. Personens namn står i cell F2 i huvudtabellen, så vi söker upp det med hjälp av denna formel:
VLOOKUP($F$2,Lookup_table,2,FALSE)
Du kan naturligtvis ange namnet i VLOOKUP-funktionens uppslagskriterier, men det är bättre att använda en absolut cellreferens eftersom det skapar en universell formel som fungerar för alla namn som anges i en viss cell.
- Summa intervall - Detta är den enklaste delen. Eftersom våra försäljningssiffror finns i kolumn C som heter "Försäljning", sätter vi helt enkelt in
Main_table[Försäljning]
.Nu behöver du bara sätta ihop formelns delar och din SUMIF + VLOOKUP-formel är klar:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
Ladda ner detta exempel på VLOOKUP och SUMIF
Formelfritt sätt att göra vlookup i Excel
Låt mig slutligen presentera ett verktyg som kan söka upp, matcha och sammanfoga dina tabeller utan några funktioner eller formler. Verktyget Merge Tables som ingår i vår Ultimate Suite for Excel har utformats och utvecklats som ett tidsbesparande och lättanvänt alternativ till Excels VLOOKUP- och LOOKUP-funktioner, och det kan vara till stor hjälp både för nybörjare och avancerade användare.
Istället för att hitta formler anger du helt enkelt dina huvud- och uppslagstabeller, definierar en eller flera gemensamma kolumner och talar om för guiden vilka data du vill hämta.
Låt sedan guiden få några sekunder på sig att söka, matcha och leverera resultaten. Om du tror att det här tillägget kan vara till hjälp i ditt arbete är du välkommen att ladda ner en testversion via länken nedan.
Tillgängliga nedladdningar
VLOOKUP med SUM och SUMIF - exempel på formler (.xlsx-fil)
Ultimate Suite - testversion (.exe-fil)