Екцел формула: Збир по радним данима -

Преглед садржаја

Генеричка формула

=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)

Са само овим једним низом за обраду, СУМПРОДУЦТ сумира ставке и враћа резултат.

Занимљиви Чланци...