Sumif Excel函数错误
我试图计算一个员工加class的日子; 但是function不断给出错误的function。 我search后使用(;)而不是(,); 但仍然不断收到错误。
function:
=SUMIFS(LeaveTracker[Days],LeaveTracker[Employee Name],valSelEmployee,WEEKDAY(LeaveTracker[Start Date]),">5",WEEKDAY(LeaveTracker[End Date]),">5",LeaveTracker[Type of Leave],'Leave Types'!B8)
错误消息:您键入的公式包含错误。
正如我在我的评论中写的, criteria_range
参数需要是范围。 您有两个不是: WEEKDAY(LeaveTracker[Start Date])
和WEEKDAY(LeaveTracker[End Date])
不返回范围。 他们返回星期几数字的数组。 因此你的错误。
您可以添加两个帮助者列,其中只包含引用开始date和结束date的Weekday数字,然后将这些列用于criteria_range
以代替您拥有的数据。
因此,添加一个名为StartWeekDay
的列,公式为: =WEEKDAY([@[Start Date]])
StartWeekDay
=WEEKDAY([@[Start Date]])
,同样添加一个名为EndWeekDay
的列
那么你可以使用SUMIFS
:
=SUMIFS(LeaveTracker[Days],LeaveTracker[Employee Name],valSelEmployee,(LeaveTracker[StartWeekDay]),">5",(LeaveTracker[EndWeekDay]),">5",LeaveTracker[Type of Leave],'Leave Types'!B8)
或者你可以使用SUMPRODUCT
函数,它可以在你现有的数据上执行这个逻辑而不需要帮助列。
=SUMPRODUCT(LeaveTracker[Days]*(LeaveTracker[Employee Name]=valSelEmployee)*(WEEKDAY(LeaveTracker[Start Date])>5)*(WEEKDAY(LeaveTracker[End Date])>5)*(LeaveTracker[Type of Leave]='Leave Types'!B8))
SUMIFS的语法是:
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
如果:
LeaveTracker [Days]是sum_range和
LeaveTracker [员工姓名]是criteria_range
valSelEmployee是什么?
根据语法,它应该是第一个标准。 它是否包含要search的员工名称? 如果是这样,它应该有一个操作符(=,>等)