Excel formula: Zbroj po radnim danima -

Sadržaj

Generička formula

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

Sažetak

Da biste zbrojili podatke prema radnim danima (tj. Zbroju prema ponedjeljku, utorku, srijedi itd.), Možete koristiti funkciju SUMPRODUCT zajedno s funkcijom WEEKDAY.

U prikazanom primjeru formula u H4 je:

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

Obrazloženje

Možda se pitate zašto ne koristimo funkciju SUMIF ili SUMIFS? Čini se da su to očit način zbrajanja po danima u tjednu. Međutim, bez dodavanja pomoćnog stupca s vrijednošću dana u tjednu, ne postoji način za stvaranje kriterija za SUMIF koji uzima u obzir dan u danu.

Umjesto toga koristimo praktičnu funkciju SUMPRODUCT koja graciozno rukuje nizovima bez potrebe za upotrebom Control + Shift + Enter.

SUMPRODUCT koristimo sa samo jednim argumentom, koji se sastoji od ovog izraza:

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

Radeći iznutra prema van, funkcija WEEKDAY konfigurirana je s neobaveznim argumentom 2, zbog čega vraća brojeve 1-7 za dane ponedjeljak-nedjelja. To nije potrebno, ali olakšava popis dana po redoslijedu i redoslijed pobiranja brojeva u stupcu G.

WEEKDAY procjenjuje svaku vrijednost u imenovanom rasponu "date" i vraća broj. Rezultat je niz poput ovog:

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

Brojevi koje je vratio WEEKDAY zatim se uspoređuju s vrijednošću u G4, koja je 1.

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

Rezultat je niz TRUE / FALSE vrijednosti.

(NETOČNO; NETOČNO; NETOČNO; ISTINITO; NETOČNO; NETOČNO; NETOČNO; NETOČNO)

Zatim se ovaj niz pomnoži s vrijednostima u imenovanom rasponu "amts". SUMPRODUCT radi samo s brojevima (ne s tekstom ili logičkim vrijednostima), ali matematičke operacije automatski prisiljavaju vrijednosti TRUE / FALSE na nečije i nule, tako da imamo:

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

Što daje:

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

Sa samo ovim jednim nizom za obradu, SUMPRODUCT zbraja stavke i vraća rezultat.

Zanimljivi članci...