
Генеричка формула
=SUMPRODUCT(hours*rate)/COUNTIF(hours,">0")
Резиме
Да бисте израчунали просечну плату недељно, искључујући недеље у којима није забележено ниједно радно време и без већ израчунате укупне зараде недељно, можете да користите формулу засновану на функцијама СУМПРОДУЦТ и ЦОУНТИФ. У приказаном примеру, формула у Ј5 је:
=SUMPRODUCT(D5:I5*D6:I6)/COUNTIF(D5:I5,">0")
која враћа просечну плату недељно, изузимајући недеље у којима није забележено ниједно радно време. Ово је формула низа, али није неопходно унос са цонтрол + схифт + ентер јер функција СУМПРОДУЦТ може изворно да обрађује већину операција низа.
Објашњење
Прво бисте могли помислити да се овај проблем може решити помоћу функције АВЕРАГЕИФ или АВЕРАГЕИФС. Међутим, с обзиром да укупна седмична плата није део радног листа, не можемо да користимо ове функције јер захтевају опсег.
Радећи изнутра ка прво, израчунавамо укупну зараду за све недеље:
D5:I5*D6:I6 // total pay for all weeks
Ово је операција низа која множи сате са стопама за израчунавање недељних износа плата. Резултат је низ попут овог:
(87,63,48,0,12,0) // weekly pay amounts
С обзиром да на радном листу има 6 недеља, низ садржи 6 вредности. Овај низ се враћа директно у функцију СУМПРОДУЦТ:
SUMPRODUCT((348,252,192,0,48,0))
Функција СУМПРОДУЦТ тада враћа збир ставки у низу, 840. У овом тренутку имамо:
=840/COUNTIF(D5:I5,">0")
Даље, функција ЦОУНТИФ враћа број вредности веће од нуле у опсегу Д5: И5. Будући да су 2 од 6 вредности празне, а Екцел празне ћелије процењује као нулу, ЦОУНТИФ враћа 4.
=840/4 =210
Коначни резултат је 840 подељен са 4, што је једнако 210