Sumif Excel 函数错误
Sumif Excel Function Error
我正在尝试计算员工加班的天数;但函数一直给出错误函数。
我在搜索后尝试使用 (;) 而不是 (,);但仍然不断出现错误。
函数:
=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[Days] 是 sum_range 和
LeaveTracker[员工姓名] 是 criteria_range
什么是 valSelEmployee?
按照语法,应该是第一个条件。它是否包含要搜索的员工姓名?如果是这样,它应该有一个运算符(=,>等)
正如我在评论中所写,criteria_range
参数需要是范围。你有两个不是:WEEKDAY(LeaveTracker[Start Date])
和 WEEKDAY(LeaveTracker[End Date])
不 return 一个范围。他们 return 是一组工作日数字。因此你的错误。
您可以添加两个仅包含参考开始日期和结束日期的工作日编号的辅助列,然后将这些列用于 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))
我正在尝试计算员工加班的天数;但函数一直给出错误函数。 我在搜索后尝试使用 (;) 而不是 (,);但仍然不断出现错误。
函数:
=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[Days] 是 sum_range 和
LeaveTracker[员工姓名] 是 criteria_range
什么是 valSelEmployee?
按照语法,应该是第一个条件。它是否包含要搜索的员工姓名?如果是这样,它应该有一个运算符(=,>等)
正如我在评论中所写,criteria_range
参数需要是范围。你有两个不是:WEEKDAY(LeaveTracker[Start Date])
和 WEEKDAY(LeaveTracker[End Date])
不 return 一个范围。他们 return 是一组工作日数字。因此你的错误。
您可以添加两个仅包含参考开始日期和结束日期的工作日编号的辅助列,然后将这些列用于 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))