Sumif Excel函数错误

时间:2017-08-01 17:49:07

标签: excel sumifs

我正在计算员工加班的日子;但该函数保持给出错误功能。 搜索后使用(;)代替(,);但仍然不断收到错误。

功能:

=SUMIFS(LeaveTracker[Days],LeaveTracker[Employee Name],valSelEmployee,WEEKDAY(LeaveTracker[Start Date]),">5",WEEKDAY(LeaveTracker[End Date]),">5",LeaveTracker[Type of Leave],'Leave Types'!B8)

错误消息: 您键入的公式包含错误。

2 个答案:

答案 0 :(得分:1)

正如我在评论中写的那样,criteria_range参数必须是范围。您有两个不是:WEEKDAY(LeaveTracker[Start Date])WEEKDAY(LeaveTracker[End Date])不返回范围。它们返回一系列工作日数字。因此你的错误。

您可以添加两个辅助列,其中仅包含引用开始日期和结束日期的工作日编号,然后使用这些列代替criteria_range代替您拥有的内容。

所以添加一个名为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))

答案 1 :(得分:0)

SUMIFS的语法是:

SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

如果:

LeaveTracker [Days]是sum_range和

LeaveTracker [员工姓名]是criteria_range

什么是valSelEmployee?

根据语法,它应该是第一个标准。它是否包含要搜索的员工姓名?如果是这样,它应该有一个运算符(=,> etc)