You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SUMPRODUCT统计逾期任务员工数的#VALUE!错误排查

解决跨工作簿SUMPRODUCT统计逾期任务的#VALUE!错误

你的公式报错的核心问题是写法不符合SUMPRODUCT的逻辑——你现在直接把两个区域作为参数传入,但SUMPRODUCT需要的是条件判断后生成的布尔数组(TRUE/FALSE),再转换成可求和的数值(1/0)才能正确统计数量。

给你修正后的正确公式写法,同时兼顾跨工作簿无需打开的要求:

=SUMPRODUCT(--('[完整路径+工作簿名.xlsx]工作表名'!W37:W189 > '[完整路径+工作簿名.xlsx]工作表名'!$S$9))

关键细节说明:

  • --的作用:把条件判断得到的TRUE(符合逾期)转成1,FALSE转成0,SUMPRODUCT会自动对这些1和0求和,得到逾期员工的数量
  • 跨工作簿引用格式:必须严格写成[工作簿名.xlsx]工作表名!单元格区域,如果工作簿不在当前Excel文件的同目录下,要加上完整绝对路径(比如C:\Work\Tasks\[EmployeeTasks.xlsx]DataSheet!W37:W189)
  • 如果工作簿或工作表名称包含空格,一定要用单引号把整个引用部分包裹起来,比如'[My Task Data.xlsx]Task List'!W37:W189

额外排查点(如果还是报错):

  • 检查W列的「完成日期」是不是真的是日期格式:有时候单元格看起来是日期,但实际是文本格式,会导致日期比较失败。你可以在目标工作簿里用=ISDATE(W37)验证,返回FALSE的话就需要把文本转换成日期格式(比如用DATEVALUE()函数)
  • 确认$S$9的「截止日期」也是标准日期格式,而非文本
  • 确保目标工作簿没有被其他程序锁定(比如正在被其他人编辑),否则跨工作簿引用可能无法读取数据

举个具体的实例,假设你的任务数据工作簿在D:\Project\TaskRecords.xlsx,工作表是EmployeeTasks,那么公式就是:

=SUMPRODUCT(--('D:\Project\[TaskRecords.xlsx]EmployeeTasks'!W37:W189 > 'D:\Project\[TaskRecords.xlsx]EmployeeTasks'!$S$9))

内容的提问来源于stack exchange,提问作者Tony

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:52:09