Excel-formel: Summa efter veckodag -

Innehållsförteckning

Generisk formel

=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)

Sammanfattning

För att summera data efter veckodag (dvs. summa efter måndagar, tisdagar, onsdagar etc.) kan du använda SUMPRODUCT-funktionen tillsammans med WEEKDAY-funktionen.

I exemplet som visas är formeln i H4:

=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)

Förklaring

Du kanske undrar varför vi inte använder SUMIF- eller SUMIFS-funktionen? Dessa verkar vara ett uppenbart sätt att summera efter veckodagarna. Utan att lägga till en hjälpkolumn med ett veckodagsvärde finns det dock inget sätt att skapa ett kriterium för SUMIF som tar hänsyn till veckodagen.

Istället använder vi den praktiska SUMPRODUCT-funktionen, som hanterar arrays graciöst utan att behöva använda Control + Shift + Enter.

Vi använder SUMPRODUCT med bara ett argument, som består av detta uttryck:

(WEEKDAY(dates,2)=G4)*amts

Arbetar inifrån och ut, WEEKDAY-funktionen är konfigurerad med valfritt argument 2, vilket får den att returnera siffrorna 1-7 för dagarna måndag-söndag. Detta är inte nödvändigt, men det gör det lättare att lista dagarna i ordning och plocka upp siffrorna i kolumn G i sekvens.

WEEKDAY utvärderar varje värde i det angivna intervallet "datum" och returnerar ett tal. Resultatet är en array som denna:

(3; 5; 3; 1; 2; 2; 4; 2)

Siffrorna som returneras av WEEKDAY jämförs sedan med värdet i G4, vilket är 1.

(3; 5; 3; 1; 2; 2; 4; 2) = 1

Resultatet är en matris med SANT / FALSKA värden.

(FALSE; FALSE; FALSE; TRUE; FALSE; FALSE; FALSE; FALSE)

Därefter multipliceras denna matris med värdena i det namngivna intervallet "amts". SUMPRODUCT fungerar bara med siffror (inte text eller booleaner) men matematiska operationer tvingar automatiskt de sanna / falska värdena till en och nollor, så vi har:

(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)

Vilket ger:

(0; 0; 0; 275; 0; 0; 0; 0)

Med bara denna enda matris att bearbeta summerar SUMPRODUCT objekten och returnerar resultatet.

Intressanta artiklar...