Villkorad produktsumma i Excel?

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2007

Villkorad produktsumma i Excel?

Hej,

Kolumn A innehåller antal
Kolumn B innehäller längd
Kolumn C innehåller typ (10, 20, 30, 40 osv...)

Längst ner i arket skall man summera A*B för varje typ:
Typ 10 total längd: blabla
Typ 20 total längd: blabla

Exempel: A (antal) B (längd) C (typ) 1 10 10 2 10 20 7 5 10 3 15 20 Typ 10 total längd: 45 meter Typ 20 total längd: 65 meter

Alltså liknande:
Typ 10 total längd: Sum(A*B) Where C=10
Typ 20 total längd: Sum(A*B) Where C=20

Hittade SUMMA.OM men lyckas inte summera produkten av två fält i den.

Begränsning: Jag får inte skapa ytterligare en kolumn med A*B. Produkten skall ske i formeln.

Detta är ingen skoluppgift.

Förslag mottages tacksamt.

Trädvy Permalänk
Hedersmedlem
Plats
Malmö
Registrerad
Apr 2007

Ser om jag har förstått dig rätt här.
Det är alltså summan från alla a gånger summan från alla b du vill summera till sista raden i C?

=sum(A)*sum(B)

exempel
=sum(a2:a23)*sum(b2:b23)

Bränsleförbrukning kan uttryckas i liter/mil.
Bränsleförbrukning kan också uttryckas som kubikdecimeter/mil eller kubikmeter/meter om man vill hålla sig till SI-enheter. Alltså m³/m.
m³/m = m²
Bränsleförbrukning kan alltså uttryckas i kvadratmeter...

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Nov 2009
Skrivet av Söderbäck:

Ser om jag har förstått dig rätt här.
Det är alltså summan från alla a gånger summan från alla b du vill summera till sista raden i C?

=sum(A)*sum(B)

exempel
=sum(a2:a23)*sum(b2:b23)

Tror han vill ha summan av A*B på de ställen där C är lika som han skrev innan , SUM(A*B) Where C = 10 till exempel.

Så om C1 och C3 = 10 så vill han ha A1*B1+ A3*B3

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2007
Skrivet av NoToes:

Tror han vill ha summan av A*B på de ställen där C är lika som han skrev innan , SUM(A*B) Where C = 10 till exempel.

Så om C1 och C3 = 10 så vill han ha A1*B1+ A3*B3

Precis.
För alla rader där C är 10 vill jag beräkna A*B och sedan summera samtliga dessa produkter.
Om jag först hade fått skapa en kolumn som innehåller A*B hade jag sedan kunnat köra SUMMA.OM på den kolumnen.
Men jag får inte ha en extra kolumn.

Knagglig pseudo på det jag vill uppnå:

totalsum=0 For each row where C[ROW]=10 { totalsum = totalsum + A[ROW]*B[ROW] }

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Nov 2009
Skrivet av khol:

Precis.
För alla rader där C är 10 vill jag beräkna A*B och sedan summera samtliga dessa produkter.
Om jag först hade fått skapa en kolumn som innehåller A*B hade jag sedan kunnat köra SUMMA.OM på den kolumnen.
Men jag får inte ha en extra kolumn.

Knagglig pseudo på det jag vill uppnå:

totalsum=0 For each row where C[ROW]=10 { totalsum = totalsum + A[ROW]*B[ROW] }

edit: läste inte att du redan provat det, kolla upp SUMPRODUCT istället

=SUMPRODUCT((A2:A5*B2:B5)*(C2:C5="10"))

Du kan även lägga till ytterligare conditions genom ...*(D2:D5 = "trä") senare för Cx = 10 && Dx = "träd"

Trädvy Permalänk
Hedersmedlem
Plats
Malmö
Registrerad
Apr 2007

Ahaa! Ja nu är jag med

SUMIF ser ut att kunna göra precis det där

https://support.office.com/en-us/article/SUMIF-function-169b8...

Bränsleförbrukning kan uttryckas i liter/mil.
Bränsleförbrukning kan också uttryckas som kubikdecimeter/mil eller kubikmeter/meter om man vill hålla sig till SI-enheter. Alltså m³/m.
m³/m = m²
Bränsleförbrukning kan alltså uttryckas i kvadratmeter...

Trädvy Permalänk
Medlem
Plats
Sthlm
Registrerad
Feb 2005

@khol:

Kan du sortera C kolumnen? (så att alla av samma typ hamnar bredvid varandra)

EDIT:
=PRODUKTSUMMA((C2:C5=10)+0;A2:A5;B2:B5) -> 45
=PRODUKTSUMMA((C2:C5=20)+0;A2:A5;B2:B5) -> 65

Alternativet hade varit att sortera och köra en summa array

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Sep 2007
Skrivet av NoToes:

edit: läste inte att du redan provat det, kolla upp SUMPRODUCT istället

=SUMPRODUCT((A2:A5*B2:B5)*(C2:C5="10"))

Du kan även lägga till ytterligare conditions genom ...*(D2:D5 = "trä") senare för Cx = 10 && Dx = "träd"

Skrivet av Blk:

@khol:

Kan du sortera C kolumnen? (så att alla av samma typ hamnar bredvid varandra)

EDIT:
=PRODUKTSUMMA((C2:C5=10)+0;A2:A5;B2:B5) -> 45
=PRODUKTSUMMA((C2:C5=20)+0;A2:A5;B2:B5) -> 65

Alternativet hade varit att sortera och köra en summa array

Tack. SUMPRODUCT, eller PRODUKTSUMMA som den heter i den svenska versionen löste problemet.

Koden som löste problemet ser ut såhär:

=PRODUKTSUMMA(N(C1:C4=10);B1:B4;A1:A4)

Tack för hjälpen allihop.