
Генеричка формула
=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)
Резиме
Да бисте сумирали податке по радним данима (тј. По понедјељку, уторку, сриједи итд.), Можете користити функцију СУМПРОДУЦТ заједно са функцијом ВЕЕКДАИ.
У приказаном примеру, формула у Х4 је:
=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)
Објашњење
Можда се питате зашто не користимо функцију СУМИФ или СУМИФС? Чини се да су то очигледан начин збрајања по данима у недељи. Међутим, без додавања помоћне колоне са вредношћу радног дана, не постоји начин да се креирају критеријуми за СУМИФ који узимају у обзир радни дан.
Уместо тога, користимо практичну функцију СУМПРОДУЦТ, која грациозно рукује низовима, без потребе да користимо Цонтрол + Схифт + Ентер.
СУМПРОДУЦТ користимо са само једним аргументом, који се састоји од овог израза:
(WEEKDAY(dates,2)=G4)*amts
Радећи изнутра, функција ВЕЕКДАИ је конфигурисана са опционим аргументом 2, због чега враћа бројеве 1-7 за дане понедељак-недеља. То није неопходно, али олакшава редоследно давање дана и редослед преузимања бројева у колони Г.
ВЕЕКДАИ процењује сваку вредност у именованом опсегу „датуми“ и враћа број. Резултат је низ попут овог:
(3; 5; 3; 1; 2; 2; 4; 2)
Бројеви које је вратио ВЕЕКДАИ затим се упоређују са вредношћу у Г4, која је 1.
(3; 5; 3; 1; 2; 2; 4; 2) = 1
Резултат је низ вредности ТРУЕ / ФАЛСЕ.
(НЕТОЧНО; НЕТОЧНО; НЕТОЧНО; ИСТИНИТО; НЕТОЧНО; НЕТОЧНО; НЕТОЧНО; НЕТОЧНО)
Затим се овај низ помножи са вредностима у именованом опсегу „амтс“. СУМПРОДУЦТ ради само са бројевима (не са текстом или логичким вредностима), али математичке операције аутоматски присиљавају вредности ТРУЕ / ФАЛСЕ на нечије и нуле, па имамо:
(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)
Који даје:
(0; 0; 0; 275; 0; 0; 0; 0)
Са само овим једним низом за обраду, СУМПРОДУЦТ сумира ставке и враћа резултат.