Innehållsförteckning
Den här handledningen förklarar skillnaden mellan funktionerna SUMIF och SUMIFS när det gäller syntax och användning, och ger ett antal formelexempel för att summera värden med flera AND / OR-kriterier i Excel 365, 2021, 2019, 2016, 2013, 2010 och lägre.
Som alla vet tillhandahåller Microsoft Excel en rad funktioner för att utföra olika beräkningar med data. För några artiklar sedan undersökte vi COUNTIF och COUNTIFS, som är utformade för att räkna celler baserat på ett enda villkor respektive flera villkor. Förra veckan behandlade vi Excel SUMIF som adderar värden som uppfyller de angivna kriterierna. Nu är det dags att gå igenom pluralversionen avSUMIF - Excel SUMIFS som gör det möjligt att summera värden enligt flera kriterier.
De som är bekanta med SUMIF-funktionen kanske tror att det räcker med ett extra "S" och några ytterligare kriterier för att konvertera den till SUMIFS. Det verkar logiskt, men "logiskt" är inte alltid fallet när man har att göra med Microsoft : )
Excel SUMIF-funktionen - syntax & användning
Funktionen SUMIF används för att villkorligt summera värden baserat på en ett enda kriterium Vi diskuterade SUMIF-syntaxen i detalj i den föregående artikeln, och här är bara en snabb repetition.
SUMIF(intervall, kriterier, [sum_range])- sortiment - det intervall av celler som ska utvärderas enligt dina kriterier, krävs.
- kriterier - det villkor som måste uppfyllas, krävs.
- sum_range - de celler som ska summeras om villkoret är uppfyllt, valfritt.
Som du ser tillåter syntaxen för Excel SUMIF-funktionen endast ett villkor. Ändå säger vi att Excel SUMIF kan användas för att summera värden med flera kriterier. Hur kan det vara möjligt? Genom att addera resultaten av flera SUMIF-funktioner och genom att använda SUMIF-formler med matrisvillkor, vilket visas i exemplen nedan.
Excel SUMIFS-funktionen - syntax & användning
Du använder SUMIFS i Excel för att hitta en villkorlig summa av värden baserat på flera kriterier Funktionen SUMIFS introducerades i Excel 2007 och finns i alla efterföljande versioner av Excel 2010, 2013, 2016, 2019, 2021 och Excel 365.
Jämfört med SUMIF är syntaxen för SUMIFS lite mer komplex:
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)De tre första argumenten är obligatoriska, ytterligare intervall och tillhörande kriterier är valfria.
sum_range
- En eller flera celler som ska summeras, krävs. Detta kan vara en enskild cell, ett intervall av celler eller ett namngivet intervall. Endast celler med siffror summeras; tomma värden och textvärden ignoreras.kriterier_område1
- det första intervallet som ska utvärderas med hjälp av de tillhörande kriterierna, krävs.kriterier1
- det första villkoret som måste uppfyllas, krävs. Du kan ange kriterierna i form av ett tal, ett logiskt uttryck, en cellreferens, text eller en annan Excel-funktion. Du kan till exempel använda kriterier som 10, ">=10", A1, "körsbär" eller TODAY().criteria_range2, criteria2, ...
- Detta är ytterligare intervall och kriterier som är kopplade till dem, valfritt. Du kan använda upp till 127 intervall/kriteriepar i SUMIFS-formler.
Anteckningar:
- För att en SUMIFS-formel ska fungera korrekt måste alla kriterier_intervall argumenten måste ha samma dimension som sum_range , dvs. samma antal rader och kolumner.
- Funktionen SUMIFS arbetar med AND-logik, vilket innebär att en cell i summeringsområdet summeras endast om den uppfyller alla angivna kriterier, dvs. om alla kriterier är sanna för den cellen.
Grundläggande formel för SUMIFS
Nu ska vi titta på Excel-formeln SUMIFS med två villkor. Antag att du har en tabell med en förteckning över fruktleveranser från olika leverantörer. Du har fruktnamnen i kolumn A, leverantörernas namn i kolumn B och kvantiteten i kolumn C. Du vill ta reda på en summa av beloppen för en viss frukt och leverantör, t.ex. alla äpplen som levererats av Pete.
När du lär dig något nytt är det alltid en bra idé att börja med enkla saker. Låt oss därför börja med att definiera alla argument för vår SUMIFS-formel:
- sum_range - C2:C9
- criteria_range1 - A2:A9
- criteria1 - "äpplen"
- criteria_range2 - B2:B9
- criteria2 - "Pete"
Sätt ihop ovanstående parametrar så får du följande SUMIFS-formel:
=SUMIFS(C2:C9, A2:A9, "äpplen", B2:B9, "Pete")
Om du vill förfina formeln ytterligare kan du ersätta textkriterierna "äpplen" och "Pete" med cellreferenser. I det här fallet behöver du inte ändra formeln för att beräkna mängden annan frukt från en annan leverantör:
=SUMIFS(C2:C9, A2:A9, F1, B2:B9, F2)
Observera: Både SUMIF- och SUMIFS-funktionerna är av naturen okänsliga för stora och små bokstäver. För att få dem att känna igen textens stora och små bokstäver, se Formler för stor och små bokstäver för SUMIF- och SUMIFS-funktioner i Excel.
SUMIF vs. SUMIFS i Excel
Eftersom syftet med den här handledningen är att täcka alla möjliga sätt att summera värden enligt flera villkor kommer vi att diskutera formelexempel med båda funktionerna - Excel SUMIFS och SUMIF med flera kriterier. För att kunna använda dem på rätt sätt måste du förstå vad de här två funktionerna har gemensamt och vad de skiljer sig från varandra.
Medan den gemensamma delen är tydlig (liknande syfte och parametrar), är skillnaderna inte lika uppenbara, även om de är mycket viktiga.
Det finns fyra stora skillnader mellan SUMIF och SUMIFS:
- Antal villkor . SUMIF kan bara utvärdera ett villkor åt gången medan SUMIFS kan kontrollera flera kriterier.
- Syntax Med SUMIF kan sum_range är det sista och valfria argumentet - om det inte är definierat kommer värdena i sortiment argument summeras. Med SUMIFS, sum_range är det första och nödvändiga argumentet.
- Storleken på områdena. I SUMIF-formler, sum_range behöver inte nödvändigtvis vara av samma storlek och form som sortiment så länge du har den översta vänstra cellen till höger. I Excel SUMIFS är varje kriterier_intervall måste innehålla samma antal rader och kolumner som sum_range argument.
SUMIF(A2:A9,F1,C2:C18) ger t.ex. rätt resultat eftersom den vänstra cellen i sum_range argumentet (C2) är rätt. Excel gör alltså korrigeringen automatiskt och inkluderar så många kolumner och rader som möjligt i sum_range som det finns i sortiment .
En SUMIFS-formel med ojämnt stora intervall ger felmeddelandet #VALUE!
- Tillgänglighet SUMIF finns i alla Excel-versioner, från 365 till 2000. SUMIFS finns i Excel 2007 och senare.
Nu räcker det med strategin (dvs. teorin), låt oss gå in på taktiken (dvs. exempel på formler).
Hur man använder SUMIFS i Excel - exempel på formler
För en stund sedan diskuterade vi en enkel SUMIFS-formel med två textkriterier. På samma sätt kan du använda Excel SUMIFS med flera kriterier som uttrycks med siffror, datum, logiska uttryck och andra Excel-funktioner.
Exempel 1. Excel SUMIFS med jämförelseoperatörer
Antag att du vill summera alla leveranser av Mike med en kvantitet på 200 eller mer i vår tabell med fruktleverantörer. För att göra detta använder du jämförelseoperatorn "större än eller lika med" (>=) i criteria2 och får följande SUMIFS-formel:
=SUMIFS(C2:C9,B2:B9,"Mike",C2:C9,">=200")
Observera att logiska uttryck med jämförelseoperatörer i Excel SUMIFS formler alltid ska omslutas av dubbla citattecken ("").
Vi tog upp alla möjliga jämförelseoperatörer i detalj när vi diskuterade Excel SUMIF-funktionen, samma operatörer kan användas i SUMIFS-kriterierna. Följande formel ger till exempel summan av alla värden i cellerna C2:C9 som är större än eller lika med 200 och mindre än eller lika med 300.
=SUMIFS(C2:C9, C2:C9,">=200", C2:C9,"<=300")
Exempel 2. Användning av Excel SUMIFS med datum
Om du vill summera värden med flera kriterier baserat på det aktuella datumet använder du funktionen TODAY() i ditt SUMIFS-kriterium, som visas nedan. Följande formel summerar värden i kolumn D om motsvarande datum i kolumn C infaller under de senaste 7 dagarna, inklusive idag:
=SUMIFS(D2:D10, C2:C10,">="&TODAY()-7, C2:C10,"<="&TODAY())
Observera: När du använder en annan Excel-funktion tillsammans med en logisk operatör i kriterierna måste du använda ampersand (&) för att sammanfoga en sträng, till exempel "<="&TODAY().
På samma sätt kan du använda Excel-funktionen SUMIF för att summera värden i ett visst datumintervall. Följande SUMIFS-formel adderar till exempel värdena i cellerna C2:C9 om ett datum i kolumn B infaller mellan 1-oktober 2014 och 31-oktober 2014, inklusive.
=SUMIFS(C2:C9, B2:B9, ">=10/1/2014", B2:B9, "<=10/31/2014")
Samma resultat kan uppnås genom att beräkna skillnaden mellan två SUMIF-funktioner, vilket visas i det här exemplet - Hur man använder SUMIF för att summera värden i ett visst datumintervall. Excel SUMIFS är dock mycket enklare och mer begripligt, eller hur?
Exempel 3. Excel SUMIFS med tomma och icke-tomma celler
När du analyserar rapporter och andra data kan du ofta behöva summera värden som motsvarar antingen tomma eller icke-tomma celler.
Kriterier | Beskrivning | Exempel på en formel | |
---|---|---|---|
Tomma celler | "=" | Summera värden som motsvarar tomma celler som inte innehåller någonting - ingen formel, ingen sträng med noll längd. | =SUMIFS(C2:C10, A2:A10, "=", B2:B10, "=") |
Summera värdena i cellerna C2:C10 om motsvarande celler i kolumnerna A och B är helt tomma.
Summera värdena i cellerna C2:C10 med samma villkor som i formeln ovan, men inkluderar tomma strängar.
Summera värdena i cellerna C2:C10 om motsvarande celler i kolumnerna A och B inte är tomma, inklusive celler med tomma strängar.
eller .
SUM / LEN
=SUM((C2:C10) * (LEN(A2:A10)>0)*(LEN(B2:B10)>0))
Summera värdena i cellerna C2:C10 om motsvarande celler i kolumnerna A och B inte är tomma, celler med strängar av noll längd inkluderas inte.
Nu ska vi se hur du kan använda en SUMIFS-formel med kriterierna "tom" och "icke-tom" på riktiga data.
Antag att du har ett beställningsdatum i kolumn B, ett leveransdatum i kolumn C och antal i kolumn D. Hur hittar du summan av de produkter som ännu inte har levererats? Det vill säga, du vill veta summan av de värden som motsvarar icke-tomma celler i kolumn B och tomma celler i kolumn C.
Lösningen är att använda formeln SUMIFS med två kriterier:
=SUMIFS(D2:D10, B2:B10,"", C2:C10,"=")
Använda Excel SUMIF med flera OR-kriterier
Som vi nämnde i början av den här handledningen är SUMIFS-funktionen utformad med AND-logik. Men vad händer om du behöver summera värden med flera OR-kriterier, dvs. när minst ett av villkoren är uppfyllt?
Exempel 1. SUMIF + SUMIF
Den enklaste lösningen är att summera de resultat som returneras av flera SUMIF-funktioner. Följande formel visar till exempel hur man får fram summan av de produkter som levererats av Mike och John:
=SUMIF(C2:C9, "Mike",D2:D9) + SUMIF(C2:C9, "John",D2:D9)
Som du ser lägger den första SUMIF-funktionen till kvantiteterna för "Mike", den andra SUMIF-funktionen returnerar beloppen för "John" och sedan adderar du dessa två tal.
Exempel 2. SUM & SUMIF med ett arrayargument
Lösningen ovan är mycket enkel och kan göra jobbet snabbt när det bara finns ett par kriterier. Men en SUMIF + SUMIF-formel kan växa enormt om du vill summera värden med flera OR-villkor. I det här fallet är det bättre att använda en kriterier för matriser argumentet i funktionen SUMIF. Låt oss undersöka detta tillvägagångssätt nu.
Du kan börja med att räkna upp alla dina villkor separerade med kommatecken och sedan omsluta den kommaseparerade listan med {krökta parenteser}, vilket tekniskt sett kallas för en array.
Om du i det tidigare exemplet vill summera de produkter som levererats av John, Mike och Pete, kommer din array att se ut som {"John", "Mike", "Pete"}. Och den fullständiga SUMIF-funktionen är SUMIF(C2:C9, {"John", "Mike", "Pete"} ,D2:D9)
.
Arrahmaterialet som består av tre värden tvingar din SUMIF-formel att ge tre separata resultat, men eftersom vi skriver formeln i en enda cell skulle den bara ge det första resultatet - dvs. det totala antalet produkter som levererats av John. För att få denna metod med arraymaterialkriterier att fungera måste du använda ytterligare ett litet trick - omsluta din SUMIF-formel i en SUM-funktion, så här:
=SUM(SUMIF(C2:C9, {"John", "Mike", "Pete"} , D2:D9))
Som du ser gör ett array-kriterium formeln mycket mer kompakt jämfört med SUMIF + SUMIF, och du kan lägga till så många värden som du vill i arrayen.
Det här tillvägagångssättet fungerar både med siffror och med textvärden. Om du till exempel i stället för leverantörernas namn i kolumn C hade leverantörsnummer som 1, 2, 3 etc., skulle din SUMIF-formel se ut på följande sätt:
=SUM(SUMMA(SUMIF(C2:C9, {1,2,3} , D2:D9))
Till skillnad från textvärden behöver siffror inte omges av dubbla citattecken i arrayargument.
Exempel 3. SUMPRODUCT & SUMIF
Om du föredrar att lista kriterierna i några celler i stället för att ange dem direkt i formeln kan du använda SUMIF tillsammans med funktionen SUMPRODUCT som multiplicerar komponenterna i de givna matriserna och returnerar summan av dessa produkter.
=SUMPRODUKT(SUMIF(C2:C9, G2:G4, D2:D9))
Där G2:G4 är de celler som innehåller dina kriterier, i vårt fall leverantörsnamnen, vilket illustreras i skärmdumpen nedan.
Men det finns förstås inget som hindrar dig från att lista värdena i ett array-kriterium för din SUMIF-funktion om du vill det:
=SUMPRODUCT(SUMIF(C2:C9, {"Mike", "John", "Pete"}, D2:D9))
Det resultat som de båda formlerna ger kommer att vara identiskt med det du ser i skärmdumpen:
Excel SUMIFS med flera OR-kriterier
Om du vill summera värden i Excel inte bara med flera OR-villkor utan med flera uppsättningar villkor måste du använda SUMIFS i stället för SUMIF. Formlerna kommer att vara mycket lika dem vi just diskuterat.
Som vanligt kan ett exempel hjälpa till att illustrera saken bättre: I vår tabell över fruktleverantörer lägger vi till leveransdatum (kolumn E) och tar reda på den totala kvantitet som Mike, John och Pete levererade i oktober.
Exempel 1. SUMIFS + SUMIFS
Formeln som skapas genom detta tillvägagångssätt innehåller många upprepningar och ser besvärlig ut, men den är lätt att förstå och, viktigast av allt, den fungerar : )
=SUMIFS(D2:D9,C2:C9, "Mike", E2:E9,">=10/1/2014", E2:E9,"<=10/31/2014") +
SUMIFS(D2:D9, C2:C9, "John", E2:E9, ">=10/1/2014", E2:E9, "<=10/31/2014") +
SUMIFS(D2:D9, C2:C9, "Pete", E2:E9, ">=10/1/2014" ,E2:E9, "<=10/31/2014")
Som du ser skriver du en separat SUMIFS-funktion för varje leverantör och inkluderar två villkor - lika med eller större än okt-1 (">=10/1/2014",) och mindre än eller lika med okt 31 ("<=10/31/2014"), och sedan summerar du resultaten.
Exempel 2. SUM & SUMIFS med ett arrayargument
Jag försökte förklara kärnan i detta tillvägagångssätt i exemplet SUMIF, så nu kan vi helt enkelt kopiera den formeln, ändra argumentens ordning (som du minns är den annorlunda i SUMIF och SUMIFS) och lägga till ytterligare kriterier. Den resulterande formeln är mer kompakt än SUMIFS + SUMIFS:
=SUM(SUMIFS(D2:D9,C2:C9, {"Mike", "John", "Pete"}, E2:E9,">=10/1/2014", E2:E9,"<=10/31/2014")))
Det resultat som återges av formeln är exakt detsamma som du ser i skärmdumpen ovan.
Exempel 3. SUMPRODUCT & SUMIFS
Som du minns skiljer sig SUMPRODUCT-funktionen från de två tidigare metoderna genom att du anger varje kriterium i en separat cell i stället för att ange dem direkt i formeln. Om du har flera kriterieuppsättningar räcker inte SUMPRODUCT-funktionen till, utan du måste använda ISNUMBER och MATCH också.
Om vi antar att leverantörsnamnen finns i cellerna H1:H3, startdatum i cell H4 och slutdatum i cell H5, får vår SUMPRODUCT-formel följande form:
=SUMPRODUCT(--(E2:E9>=H4), --(E2:E9<=H5), --(ISNUMBER(MATCH(C2:C9, H1:H3,0))), D2:D9)
Många undrar varför man använder dubbla streck (--) i SUMPRODUCT-formler. Poängen är att Excel SUMPRODUCT ignorerar alla utom numeriska värden, medan jämförelseoperatörerna i vår formel returnerar boolska värden (TRUE / FALSE), som inte är numeriska. För att konvertera dessa boolska värden till 1:or och 0:or använder man det dubbla minustecknet, som tekniskt sett kallas dubbel unär operatör. Den första unära operatorn tvingarDen andra unära koden negerar värdena, dvs. vänder på tecknet och omvandlar dem till +1 och 0, vilket SUMPRODUCT-funktionen kan förstå.
Jag hoppas att förklaringen ovan är begriplig. Och även om den inte är det, kom ihåg den här tumregeln - använd den dubbla unära operatorn (--) när du använder jämförelseoperatörer i dina SUMPRODUCT-formler.
Användning av Excel SUM i matrisformler
Som du minns har Microsoft implementerat SUMIFS-funktionen i Excel 2007. Om någon fortfarande använder Excel 2003, 2000 eller tidigare måste du använda en SUM array-formel för att addera värden med flera AND-kriterier. Naturligtvis fungerar det här tillvägagångssättet även i moderna versioner av Excel 2013 - 2007 och kan betraktas som en gammaldags motsvarighet till SUMIFS-funktionen.
I SUMIF-formlerna som vi diskuterat ovan har du redan använt arrayargument, men en arrayformel är något helt annat.
Exempel 1. Summa med flera AND-kriterier i Excel 2003 och tidigare
Låt oss återgå till det första exemplet där vi tog reda på summan av beloppen för en viss frukt och en viss leverantör:
Som du redan vet kan du enkelt utföra den här uppgiften med en vanlig SUMIFS-formel:
=SUMIFS(C2:C9, A2:A9, "äpplen", B2:B9, "Pete")
Nu ska vi se hur samma uppgift kan utföras i tidiga "SUMIFS-fria" versioner av Excel. Först och främst skriver du ner alla villkor som ska uppfyllas i form av range="condition". I det här exemplet har vi två range/villkorspar:
Villkor 1: A2:A9="äpplen"
Villkor 2: B2:B9="Pete"
Sedan skriver du en SUMM-formel som "multiplicerar" alla dina intervall-/villkorspar, var och en inom parentes. Den sista multiplikatorn är summaintervallet, C2:C9 i vårt fall:
=SUM((A2:A9="äpplen") * ( B2:B9="Pete") * ( C2:C9))
Som framgår av skärmbilden nedan fungerar formeln perfekt i den senaste Excel 2013-versionen.
Observera: När du skriver in en arrayformel måste du trycka på Ctrl + Shift + Enter . När du gör detta omsluts formeln av {slingrande hängslen}, vilket är en visuell indikation på att en arrayformel har skrivits in på rätt sätt. Om du försöker skriva in hängslen manuellt omvandlas formeln till en textsträng och fungerar då inte.
Exempel 2. Formler för SUM-matrisen i moderna Excel-versioner
Även i moderna versioner av Excel bör man inte underskatta SUM-funktionens kraft. Formeln SUM array är inte bara en tankegymnastik, utan har ett praktiskt värde, vilket visas i följande exempel.
Antag att du har två kolumner, B och C, och att du behöver räkna hur många gånger kolumn C är större än kolumn B när ett värde i kolumn C är större eller lika med 10. En omedelbar lösning som kommer i åtanke är att använda formeln SUM array:
=SUM((C1:C10>=10) * (C1:C10>B1:B10))
Om du inte ser någon praktisk tillämpning av ovanstående formel kan du tänka på ett annat sätt : )
Anta att du har en orderlista som visas i skärmdumpen nedan och att du vill veta hur många produkter som inte har levererats i sin helhet vid ett visst datum. Översatt till Excels språk har vi följande villkor:
Villkor 1: Ett värde i kolumn B (Beställda objekt) är större än 0.
Villkor 2: Ett värde i kolumn C (Levererat) som är lägre än värdet i kolumn B.
Villkor 3: Ett datum i kolumn D (Förfallodag) är kortare än 2014-11-01.
Genom att sätta ihop de tre intervall-/villkorsparen får du följande formel:
=SUM((B2:B10>=0)*(B2:B10>C2:C10)*(D2:D10
De formelexempel som diskuteras i den här handledningen har bara skrapat på ytan av vad Excel-funktionerna SUMIFS och SUMIF verkligen kan göra. Men förhoppningsvis har de hjälpt till att peka dig i rätt riktning och nu kan du summera värden i dina Excel-arbetsböcker oavsett hur många invecklade villkor du måste ta hänsyn till.