Start » Excelformler, trix och tips » Excel - Formler och Funktioner » SUMPRODUCT – Enkel Excelformel för flera villkor

SUMPRODUCT – Enkel Excelformel för flera villkor





sumproductMånga Excelanvändare upplever det som svårt att summera efter flera olika villkor. Den traditionella formeln för villkorad summering heter SUMIF, men den räcker ofta inte till när vi har flera villkor än ett som vi vill filtrera summeringen på. Lösningen heter SUMPRODUCT, eller PRODUKTSUMMA på svenska.

Den relativt okända formeln SUMPRODUCT låter dig på ett enkelt sätt summera efter flera villkor, vilket är ovärdeligt när man snabbt vill kunna vaska fram en specifik summa ur en större datamängd. Formeln är egentligen framtagen i ett annat syfte (att multiplicera värden i matriser) men via ett alternativt användande så tjänar den syftet att summera efter flera villkor på ett alldeles utomordentligt sätt.

I videon nedan ger jag ett konkret exempel på hur du kan använda SUMPRODUCT. Exemplet är enkelt till sin natur och visar att i princip alla Excelanvändare som är hyfsat vana att arbeta i Excel kan nyttja formeln. En mer avancerad användare kan lätt lägga till summering efter datum med mera. Formeln har en mycket stor potential.

Så fort du lärt dig använda den här formeln så kommer du helt enkelt aldrig att sluta använda den.





50 kommentarer till “SUMPRODUCT – Enkel Excelformel för flera villkor”

  1. MARTiN

    Hej, provat att knappa in detta exempel i ett excel blad men får ett felmeddelande “#VALUE!”.
    Vilket format skall de olika cellerna vara i?

    //Mvh MARTiN

  2. Excelkungen

    Hej Martin,

    Behövs inga speciellt format alls, utan alla celler kan ha Excels generella cellformat, sifferformat etc. Har du svensk version av Excel så heter formeln PRODUKTSUMMA. Kan tyvärr inte komma på någon annan “konstighet” som skulle kunna störa beräkningen. Återkom om fortsatta problem.

  3. Magnus

    Hej!

    Jag fick också #VALUE! när jag körde formeln du har 3:03 in i filmklippet:
    =sumproduct((B3:B14=B18)*(C3:C14=”Mjukt”)*D3:D14)

    Efter mycket om och men löste det sig när jag istället skrev:
    =sumproduct((B3:B14=B18)*(C3:C14=”Mjukt”);D3:D14)
    Dvs ; istället för * innan sista värdet.

    Vet inte om det har med att jag har en äldre version (Excel 2002) men det var väldigt tillfredställande när jag fick till det. Tänkte att det kunde vara till glädje för andra som kommer hit att känna till det.

    Tack för en bra guide, det hjälpte mig att förstå produktsumma-funktionen!

  4. Mikael Nordin

    Hej!
    Har haft jättemycket hjälp av denna formel. Synd att hjälpen i Excel/Office inte är den bästa jämt.
    Tack för en toppensida.
    /Micke

  5. Jessica

    Tack för denna formel – du har just räddat min dag! :-) Fungerar klockrent!

  6. Tommi

    Vill egentligen bara tacka för en fantastiskt bra video. Hjälpte mig oerhört mycket under kodandet av en Excelfil på jobbet!

  7. Patrik

    En superformel! Stort tack för denna. Jag har en följdfråga – om man vill summera ihop värden i två kolumner men bara värden som är duplicerade i den vänstra kolumnen. Hur gör man då? Jag har försökt kombinera in formeln LETARAD men inte lyckats.

    Exempel på vad jag menar: kolumnA innehåller artikelnummer och kolumnB innehåller antal av artikeln. Jag har 10.000 olika artiklar i A. Jag vill hitta alla artiklar som är duplicerade och summera ihop antalet av artiklarna.

  8. Katrin

    Hej,
    tack för en bra video!

    hur gör jag för att i kombination med sumproduct i en formel välja ut både de mjuka och hårda paket som karl har?/Katrin

  9. Christina Järlegård

    Super – fungerade perfekt och sorterade listan på 9845 poster till en lättöverskådlig sammanställning med summeringar. Tack :-)

  10. Anders Sehlstedt

    Hejsan! Trevligt koncept det här, visa tips via videoklipp. Vill dock bara kommentera att det fungerar lika bra att använda SUMMA likväl som PRODUKTSUMMA.

  11. Anders Sehlstedt

    Ska väl kanske tillägga att det förutsätter att du förstås håller ner CTRL+SHIFT innan du trycker på ENTER. Man skapar ju då en matrisformel.

  12. Excelkungen

    Hej Anders – tack för tipset med varianten av matrisformel!

  13. Erling

    Anta att en av cellerna i Antal är =”".
    Jag har en fil där data ligger i en flik, och en annan flik som mha formler läser in data. Tabeller od görs utifrån “formel-fliken”. Där det då är tomt i en cell blir =”" i den formel-fliken. Jag får då felmeddelande om fel datatyp. Hur gör jag?

  14. Excelkungen

    Erling,

    Jag lyckas tyvärr inte återskapa felet enligt den beskrivning som du lämnar. Är det i “grunddata-matrisen” som du har tomma celler?

    /anders

  15. Erling

    Det löste sig. Jag testade att skriva ; istället för : som Magnus skrev ovan. Det funkade. Utan “” funkar *-tecknet men med ngt värde utbytt mot =”" måste man visst använda ;. Skumt.
    Tack.
    /Erling

  16. Torsten

    Hej, när det gäller selektiv summering mha produktsumma, problem uppstår när man inte anger något sökvärde, dvs ett värde med betydelsen “alla”, för en eller flera kolumner. Jag har inte hittat något sätt att gå runt detta krux på ett elegant sätt. Finns det öht något sätt att lösa detta med en enda cellformel?

  17. Torsten

    Hej igen, fann min lösning. Vad jag i princip ville göra var att finna delsumman för de synliga raderna i ett område som inte är är identifierat av Excel som Lista. Lösningen var att använda typ =DELSUMMA(109,A8:a17) vilket ju är omåttligt elegant :-)

  18. Excelkungen

    Hej Torsten,

    Vet inte om jag förstått exakt vad du menar, men kanske avser du följande. Man kan även välja att summera på något som inte “är lika med”, t ex:

    =SUMPRODUCT((C:C<>“”)*(D:D))

    dvs att “<>” avser “skiljt från”, och att efterföljande två citationstecken avser “ingenting”.

    /anders
    ExcelKungen.com

  19. Torsten

    Tack för tipset, ska utforska det. (men du menar väl citationstecken, inte semikolon..?)

  20. Excelkungen

    Tack Torsten, givetvis skall det vara citationstecken och ingenting annat.

  21. Jocke

    Fina tips, men kört fast, jag vill använda mig utav Letarad för att få fram sett namn sedan vill jag med det resultatet summera summor med namnet som returneras! =SUMMA.OMF(Datablad!J75:J360;Datablad!K75:K360;”=M5*”)

    Problemet är “=M5*”, eftersom min letarad form ligger i m5 gissar jag att summa.omf formeln inte uppfattar det som text!? och ger mig ett 0 värde. Skriver jag in nmnet ist för =M5 så returneras summan som jag vill tips ?

  22. Excelkungen

    Jocke,

    Jag hänger inte riktigt med på problemställningen, men jag misstänker att du kan vara behjälplig av formlen INDIRECT (INDIREKT på svenska).

    Exempel:

    I cell A1: B1
    I cell B1: 100
    I cell C1: =INDIREKT(A1)

    I cell C1 kommer då innehållet i cell B1 (dvs 100) att skrivas ut.

    /Anders
    Excelkungen

  23. Martin Fasth

    Hej
    Jag har haft stor användning av SUMPRODUCT men har en fråga.
    Jag vill summera följande i kolumn N vill jag få ut alla rader som har texten SC och är ifyllda (med text eller tal) i kolumn Y.
    Det vill säga något liknande som nedan (vilket inte fungerade)
    =SUMPRODUCT((N13:N530;=”SC”)*(Y13:Y530″”)

  24. Martin Fasth

    Den formeln jag har försökt använda är följande
    =SUMPRODUCT(Hantering!N13:N530;”SC”;Hantering!Y13:Y530″”)
    Inte det jag skrev i förra inlägget.

  25. Daniel

    Hej
    Har ett problem som gnager mig. kanske du kan hjälpa mig?
    skulle man kunna använda denna formel om man vill summera 2 kolumner men bara om båda 2 uppfyller vissa krav. tex jag har en kolumn för paket och en för vikt kan jag få ut i en kolumn så att ny vikt blir 20 förutsatt att om det är mer än 1 paket och vikten är under 20 så ska den bli 20. i annat fall ska den förbli orörd.

  26. Joel

    Hej
    Jag har försökt använda sumproduct för att lösa ett litet problem där jag har kriterier i a kolumnen, och vill summera producten av b/c om de uppfyller vilkoret. problemet är att i c kolumene har jag också blanka så jag får div/0

    exempel på formeln jag förökt använda är:
    =SUMPRODUCT(N(A:A=”a”);B:B;1/C:C)

    Finns det något sätt jag kan vilkora så att den skippar de C som är blanka så att den fungerar?

  27. Joel

    löste det med: =SUMPRODUCT(–($A$2:$A$9=”a”);IFERROR($B$2:$B$9/$C$2:$C$9;0))
    ctrl+shift+enter

  28. Kari

    Hej!
    Har ett problem med att tomma celler räknas som 0 i min formel. Hur undviker jag det?

    Formeln ser ut så här:
    =SUMPRODUCT(E28=F28=1)+(G28=H28=1)+(I28=J28=1)+(K28=L28=1)

  29. Carl

    Hej Exelkungen

    jag har testat ovanstående formel och lyckades när jag hade 3 st kriterier, jag skulle dock vilja lägga in ett par kriterier till i mitten, hur gör jag då? Kan du ge ett exempel på en formel kanske?
    /Carl

  30. Peter

    Hej,

    Har använt formeln med stor framgång men upptäckte nyss att jag i office xp får värdefel om jag anger hela kolumnen i formeln.

    Jag fick ändra:
    =PRODUKTSUMMA((Betygsdata!$D:$D=Kurser!$A6)*(Betygsdata!$F:$F=G$5))

    till:
    =PRODUKTSUMMA((Betygsdata!$D2:$D60000=Kurser!$A6)*(Betygsdata!$F2:$F60000=G$5))

    Kan någon bekräfta detta?

  31. Jenny

    Hej.
    Jag tror att detta är rätt formel för mig men jag får inte ihop det när den ska leta efter datum. Ska göra en fakturerat kalkyl, tar ut info med fakturadatum men jag vill att den ska söka endast på månad.
    Så här vill jag ha ut det: Om C5(blad1) stämmer överrens mot kolumn B(blad2)(kundnr) och F3 (blad1) stämmer överrens mot kolumn A(blad2)(datum)ska värde i kolumn D (blad2) summeras. Hoppas du förstår vad jag menar :)
    Med vänlig hälsning
    Jenny

  32. Jenny

    Såhär ser min formel ut:
    =PRODUKTSUMMA((DataIn!C:C=[@Kund])*(DataIn!A:A=Blad11!I2);DataIn!D:D)

    I datumfältet i DataIn ser set ut såhär:
    2014-01-09
    Jag vill söka på detta:
    jan-14
    Med vänlig hälsning
    Jenny

  33. Patrik

    Hej.

    Är det någon som kan hjälpa mig med ett annat litet problem.
    Har 3 celler som skall uppdateras beroende på varandra.

    Ex.
    Cell 1 skall räkna ut en vikt.
    Cell 2 skall räkna ut antal (8 eller 9 st).
    Cell 3 skall räkna ut antal (lådor).

    Info.
    Cell 1 exempel vikt 2.123 Kg
    Cell 2 exempel antal 9 st
    Cell 3 exempel antal 1 st (lådor)
    I varje låda (cell 3) så går det ner 9 st artiklar.

    Jag skriver in i Cell 1 att jag vill ha 20 Kg, då skall Cell 2 visa 9 st och Cell 3 visa 1 st.
    Jag skriver in i Cell 2 att jag vill ha 9 st, då skall Cell 1 visa 19,11 Kg och Cell 3 visa 1 st.
    Jag skriver in i Cell 3 att jag vill ha 1 st, då skall Cell 1 visa 19,11 Kg och Cell 2 visa 9 st.

    Vad behöver jag för formel, och funkar detta?

    Mvh
    //Patrik

  34. martin

    hej!

    Grym sida!

    Jag har ett problem, jag har räknat ut hur många antal det finns av en kolumns olika siffror i intervaller, alltså hur många celler har värdet 0-5, 6-10, 11-15, 16-30 och 31-.

    Jag skulle vilja ta reda på medelvärdet för alla celler med 0-5, 6-10 osv.

    Alla siffror finns i kolumn BI, men jag vet inte hur jag ska begränsa medel.omf(om jag nu ens ska använda den) för att få fram för just ett intervall. Sen vill jag också datumbestämma dessa, alla datum finns i kolumn AV.

    Alltså, jag vill ta reda på medelvärdet för 2014-01-01-2014-01-31s 0-5 intervall!

    Hur gör jag?

    Mvh
    Martin

  35. Essi

    Hej,
    använder produktsumma till typ allt. Men lyckas inte få till det om jag vill ha flera vilkor som finns i en kolumn.

    Jag har i ena kolumnen artikelnummer och i den andra belopp. Sedan har jag en lista med “godkända artikelnummer”. Jag vill summera alla godkända artiklar på ett smidigt sätt. Hur gör jag för att slippa en väldigt lång formel där jag anger varje “godkänd artikel” som vilkor?

    Tack för en kanonbra sida som jag ofta återkommer till när jag behöver excelhjälp! Hittilss har jag alltid hittat svar här, men nu går jag bet.
    /Essi

  36. Thomas

    Hej,

    Nybörjare på excel! Skulle behöva hjälp, har sökt i timmar nu efter en lösning på följande problem.

    Om vi tänker oss en kolumn med siffror,

    X1
    X2
    X3
    .
    .
    .
    Xn

    Nu vill jag summera dessa men samtidigt utföra en operation på varje element innan summeringen sker.

    T.ex: (X1-2)^3 + (X2-2)^3 + (X3-2)^3 + … + (Xn-2)^3

    Hur skulle man kunna implementera det här?

  37. Excelkungen

    Hej Thomas,

    Jo det verkar faktiskt gå att använda SUMPRODUCT för att utföra en operation på varje element (cell) innan summering.

    Om vi tänker oss att du har värden i celler A1, A2 och A3 så tror jag att formeln skulle bli:

    =SUMPRODUCT((A1:A3-2)^3)

    T ex

    A1: 10
    A2: 10
    A3: 10

    ger då 1.536 (dvs (8^3 + 8^3 + 8^3).

    /Anders
    ExcelKungen

  38. Johanna

    Hej,

    Tack för en toppenbra sida!

    Jag använder produktsumma i arbetet och det funkar bra förutom att excel hela tiden beräknar processorer när jag lagt in formeln. 

    Programmet svarar inte och är allmänt trögt. Vet du hur man kommer förbi detta? Jobbar inte med större tabeller än 5000rader.

    mvh Johanna

     

  39. Christian Karlsson

    Hej,
    Jag har en tabell och i den finns en rullista med 3 valda värden som det går att välja mellan - PIP, PUK och PAK. Dessa finns att välja mellan C3-C10. Till dessa 3 värden finns det ytterligare listor att välja mellan beroende på vilket värde jag väljer. Exempelvis, väljer jag värdet PIP i C3 ska jag enkom kunna välja på värden från en ny rullista som är kopplat till värdet PIP(värdet i den listan är, AMK, FVL, VFM och ROC). Likaså om jag väljer värdet PUK i rullistan (C3) ska det i K3 komma upp värden kopplade till listan PUK (i detta fall, RAM, KAS och ROC).

    Är det tydligt vad jag söker? I mitt huvud är det klart men inte alltid lätt att få ner det i skrift :-)

    Vänliga hälsningar
    Christian Karlsson

  40. Pia

    Hej,

     

    Jag har en tabel där jag vill ränka ut summeringen men jag vill att den ska ränka bort värdet N/A, då det inte alltid finns en relevant siffra att ge.

    Tabellen består av

    5

    4

    3

    2

    1

    N/A

    där man kan välja vad man vill ha men som sagt också välja N/A.

    Hur jag göra jag för att när man räknar ihop summan så ska den inte räkna med N/A, för idag tar den med det och då blir snittet sedan lägre.

    Mvh

    Pia

     

  41. Thomas

    Hej,

    Har en tabel med 2 flikar, i första fliken har jag tot.försäljningsantal per produkt och i flik 2 har jag försäljningsantal per ordertillfälle (flera rader/produkt). skulle vilja få in antal order i flik 1 för att sedan kunna ta fram genomsnitt/order.

    har försökt med =COUNT('antal order'!G525:L560) vilket fungerar men mycket manuellt jobb när det är många produkter :-) finns det något enklare sätt?? typ vlookup där man hänvisar till en referens som sedan letar upp detta i flik 2

    Tack på förhand

    mvh Thomas

     

  42. Fredrik

    Här är något att bita i, jag har en kolumn med värden (G) som jag summerar i en cell baserat på valuta (H) mha funktionen PRODUKTSUMMA. Jag vill kunna filtrera listan på klient och få summan ändrad, alltså i kombination med filter, men funktionen produktsumma räknar även värdet i osynliga/bortsorterade celler). Funktionen DELSUMMA summerar synliga rader, men jag lyckas inte kombinera dessa. Någon som vet???

  43. Fredrik

    Sorry, missade min formel i inlägget ovan…
    =PRODUKTSUMMA(($H$17:$H$113=H2)*($G$17:$G$113))

  44. Mikael

    Hejsan!

    Hur nu slitit mitt hår med något jag trodde var enkelt.

    Jag vill kombinera en om och sök formel men får det ej att funka.

    Exempel på det jag vill göra:

    Se om cell a1 inehåller röd (det står t.ex rödrosa i cellen) om det stämmer ska det stå "A" B1 celler. Om det ej stämmer ska det stå B i B1 cellen.

  45. Isak

    Hej,

    Jag försöker använda denna funktion till att summera de tre högsta värdena i en kolumn, givet att ett villkor är uppfyllt i en annan kolumn, men jag lyckas inte. Jag har två kolumner, A och B, och jag vill summera de tre högsta värdena i kolumn B givet att dessa tre värden infaller samtidigt som villkoret "high" i kolumn A är uppfyllt. Hur jag än försöker så väljer Excel ut de tre högsta värdena av samtliga värden i kolumn B, inte bara de värden där "high" är uppfyllt. Något förslag?

    A

    B

    low

    0,00

    low

    0,00

    low

    0,30

    low

    0,10

    low

    0,40

    low

    0,20

    low

    0,00

    high

    0,10

    high

    0,10

    high

    0,10

    high

    0,10

    high

    0,10

    high

    0,10

    high

    0,00

    high

    0,10

    high

    0,00

    high

    0,30

    high

    0,30

    high

    0,50

    low

    0,10

    low

    0,20

    low

    0,50

    low

    0,10

    low

    0,10

    Vänliga hälsningar

    Isak

  46. Isak

    Det gick uppenbarligen inte att klista in tabeller här, så jag försöker med en bild istället. De gröna cellerna i kolumn B är de jag vill hitta och summera. De röda cellerna i kolumn B är bland de tre högsta värdena sett till hela kolumnen, men som jag vill utesluta eftersom villkoret i kolumn A inte är uppfyllt.

    Se bild: https://drive.google.com/open?id=0BxbvLAQhRqWrSTdKamgwX3FfaG8

  47. Isak

    Hittade lösningen:

    =PRODUKTSUMMA(STÖRSTA(RANGE*–(RANGE="KRITERIE 1")*–(RANGE="KRITERIE 2");{1;2;3}))

    Där RANGE avser din datamängd och KRITERIE avser det kriterie du vill använda dig av.

  48. Gabor

    Hej. Skulle vilja ha lite hjälp med ett redovisnings dokument. Vill lägga ihop flera celler i ett eller flera rader( olika från dag till dag) från blad februari och sammanställa det till en total summa i blad månadsredovisning. Dag 8, 254 liter Dag 8, 1250 liter, Dag 8 2560 liter summan: 4064 vill jag sen flytta över till ett blad som heter månadsredovisning. dag 8, 4064 liter 

    mvh Gabbe

  49. Gabor

    Hej.

    Skulle behöva hjälp med att sätt att flytta en total summa från ett blad till ett annat blad.

    Blad Februari innehåller ett antal rader( dagar) från den 1:a till den sista i månaden. Bladet kan innhålla flera rader med samma dag tex dag 8. Vi säljer bränsle, och kan då tanka tex 4 gånger en dag, jag vill att tex att dag 8, tankar vi 450 liter, 1150 liter 678 liter och 1900 liter. Alltså 4 rader. Vill att formeln ska räkna ihopp dag 8:as 4 rader som blir 4178 liter ( i februari bladet) och flytta det till blad som heter Månadsredovisning, dag 8.

    Blad Februari:

    A22 till A25 är dag 8

    H22 till H25 är antal liter

    Blad Månadsredovisning

    B15 skall det redovisas i.

     

    // Gabbe

     

     

     

  50. PatrikL

    Hej. jag har sökt efter en lösning men finner inget.. Någon som vet om det går att kombinera följade formler på något sätt eller om det finns någon annan, jag vill hitta och räkna antal unika värden i kollumn B om dom ligger på samma rad som ett värde som finns i kollumn G.

    =ANTAL.OM(G:G;C584)

    =SUMMA(OM(FREKVENS(B573:B582;B573:B582)>0;1))

Lämna en kommentar