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

Excel按天按班次动态统计任务总耗时(无需硬编码公式)

动态统计每日班次任务总耗时(Excel公式解决方案)

核心公式(以周一早班为例)

假设表1的周一任务在A2:A10,对应班次在B2:B10,表2的任务耗时数据在Table2!A2:B100,用以下公式即可统计总耗时:

=SUMPRODUCT(--($A$2:$A$10<>"")*--($B$2:$B$10="morning"),IFERROR(VLOOKUP($A$2:$A$10,Table2!$A$2:$B$100,2,FALSE),0))

公式拆解

  • --($A$2:$A$10<>""):筛选出周一列非空的任务行,--将布尔值(TRUE/FALSE)转换为1/0,方便后续计算
  • --($B$2:$B$10="morning"):筛选出对应行班次为早班的记录,同样转换为1/0
  • VLOOKUP($A$2:$A$10,Table2!$A$2:$B$100,2,FALSE):对每个任务自动查找表2中的对应耗时,FALSE确保精确匹配
  • IFERROR(...,0):处理表2中未收录的任务,返回0避免公式报错
  • SUMPRODUCT:将上述三个条件的结果相乘(只有任务存在且班次匹配时,才会乘以对应耗时),最后求和得到总耗时

扩展到其他天和班次

只需要修改公式中的列引用和班次关键词:

  • 统计周二晚班:把A2:A10换成C2:C10,B2:B10换成D2:D10,"morning"换成"evening"
=SUMPRODUCT(--($C$2:$C$10<>"")*--($D$2:$D$10="evening"),IFERROR(VLOOKUP($C$2:$C$10,Table2!$A$2:$B$100,2,FALSE),0))

更动态的优化:使用结构化表格

如果把表2转换成结构化表格(选中表2数据→插入→表格),命名为TaskTimeTable,公式会自动适配新增的任务,无需手动调整数据范围:

=SUMPRODUCT(--($A$2:$A$10<>"")*--($B$2:$B$10="morning"),IFERROR(VLOOKUP($A$2:$A$10,TaskTimeTable[[Task]:[Time]],2,FALSE),0))

方案优势

  • 彻底摆脱硬编码:新增任务时,只需在表2中添加任务名称和耗时,公式自动识别
  • 无需VBA或Python,纯Excel公式实现
  • 兼容大部分Excel版本(SUMPRODUCT、VLOOKUP是基础函数)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 03:35:07