Sumif Excel函数错误

Sumif Excel函数错误,excel,sumifs,Excel,Sumifs,我试图计算员工加班的天数;但函数始终给出一个错误函数。 我在搜索后尝试使用(;)而不是(,);但仍然不断地得到错误 功能: =SUMIFS(LeaveTracker[Days],LeaveTracker[Employee Name],valSelEmployee,WEEKDAY(LeaveTracker[Start Date]),">5",WEEKDAY(LeaveTracker[End Date]),">5",LeaveTracker[Type of Leave],'Leave T

我试图计算员工加班的天数;但函数始终给出一个错误函数。 我在搜索后尝试使用(;)而不是(,);但仍然不断地得到错误

功能:

=SUMIFS(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[天数]是范围和

LeaveTracker[员工姓名]是标准范围

什么是员工


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

,正如我在评论中所写的,
criteria\u range
参数需要是范围。有两个不是:
工作日(LeaveTracker[开始日期])
工作日(LeaveTracker[结束日期])
不返回范围。它们返回一个工作日数字数组。这就是你的错误

您可以添加两个仅包含引用到开始日期和结束日期的工作日编号的帮助器列,然后将这些列用于
criteria\u范围

因此,添加一个名为
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))

如果我把这个操作符放进去,它会把ValSeSebe看作一个完整的字符串或文本。它给出了所有正确的值,但是没有最终的结果。你需要在“离开类型”上加上一个“=”符号。B8也是因为这也是一个标准所有值都是正确的,最终结果仍然是{…}你能在这里放一个匿名版本的表,我明天会仔细查看。
criteria\u range
参数必须是
ranges
。有两个不是:
工作日(LeaveTracker[开始日期])
不返回
范围。它返回一个工作日数字数组。这就是你的错误。