Excel-formel: Summa efter grupp -

Innehållsförteckning

Generisk formel

=IF(A2=A1,"",SUMIF(A:A,A2,B:B))

Sammanfattning

För att subtotala data efter grupp eller etikett, direkt i en tabell, kan du använda en formel baserad på SUMIF-funktionen.

I exemplet som visas är formeln i D5:

=IF(B5=B4,"",SUMIF(B:B,B5,C:C))

Obs! Data måste sorteras efter grupperingskolumnen för att få förnuftiga resultat.

Förklaring

Ramen för denna formel är baserad på IF, som testar varje värde i kolumn B för att se om det är detsamma som värdet i "cellen ovan". När värden matchar returnerar formeln ingenting (""). När värdena skiljer sig anropar IF-funktionen SUMIF:

SUMIF(B:B,B5,C:C)

I varje rad där SUMIF utlöses av IF beräknar SUMIF en summa av alla matchande rader i kolumn C (C: C). Kriterierna som används av SUMIF är det aktuella radvärdet för kolumn B (B5), testad mot hela kolumn B (B: B).

Hela kolumnreferenser som detta är coola och eleganta, eftersom du inte behöver oroa dig för var data börjar och slutar, men du måste vara säker på att det inte finns extra data ovanför eller under tabellen som kan fångas av SUMIF.

Prestanda

Det kan se ut som att använda en fullständig kolumnreferens är en dålig idé, eftersom nuvarande versioner av Excel innehåller mer än 1 m rader. Testning har dock visat att Excel endast utvärderar data i "använt intervall" (A1 till adressen för skärningspunkten för den senast använda kolumnen och senast använda raden) med denna typ av formel.

Charles Williams på Fast Excel har en bra artikel om detta ämne, med en fullständig uppsättning timingresultat.

Varför med pivottabeller?

Detta exempel är tänkt att visa hur hela kolumnreferenser fungerar och hur de kan användas direkt i en datatabell. Pivottabeller är fortfarande ett utmärkt sätt att gruppera och sammanfatta data.

Bra länkar

Excel-kolumnreferenser och begagnat intervall: bra idé eller dålig idé?

Intressanta artiklar...