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