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

如何在Excel排班表中为非数值班次赋值并自动计算总工时

如何在Excel排班表中为非数值班次赋值并自动计算总工时

嘿,我完全懂你现在的烦恼——手动给每个文本班次对应工时再求和,实在太耗精力了!针对你这种用「12-cls」「5-LB」「holiday」这类文本代码表示班次的场景,我给你推荐两个实用的Excel方案,能自动完成班次到工时的转换,还能一键汇总总工时:

方案一:辅助表+VLOOKUP函数(全Excel版本兼容)

这个方法兼容性拉满,不管你用的是哪个版本的Excel都能搞定,而且后续维护起来很方便:

  • 第一步:先在表格空白区域(比如右侧新建一个两列的辅助表):
    • 第一列(比如E列)输入所有你的班次代码:「5-LB」「holiday」「12-cls」等;
    • 第二列(比如F列)对应输入每个班次的工时:「5-LB」填10,「holiday」填8,「12-cls」根据实际情况填对应的工时(比如8)。
  • 第二步:计算单班工时。假设你的班次在A2单元格,在旁边的B2单元格输入公式:
    =IFERROR(VLOOKUP(A2, $E$2:$F$5, 2, FALSE), 0)
    
    解释一下:$E$2:$F$5是你辅助表的范围,加绝对引用符号$是为了下拉公式时范围不会乱跑;IFERROR是用来处理未匹配到的班次,直接返回0工时,避免出现#N/A错误。
  • 第三步:汇总总工时。如果要算某个人一周的总工时,直接用求和公式:
    =SUM(B2:B8)
    
    嫌单独列工时麻烦的话,还可以用SUMPRODUCT直接汇总排班区域的总工时,不用单独计算单班:
    =SUMPRODUCT(IFERROR(VLOOKUP(A2:A8, $E$2:$F$5, 2, FALSE), 0))
    

方案二:SWITCH函数(适合Excel 365/2021及以后版本)

如果你的Excel版本比较新,用SWITCH会更简洁,不用额外建辅助表,直接把班次和工时的对应关系写在公式里:

  • 计算单班工时,同样假设班次在A2:
    =SWITCH(A2, "5-LB", 10, "holiday", 8, "12-cls", 8, 0)
    
    这里最后一个0是默认值,要是遇到不在列表里的班次,就自动返回0。你可以根据自己的所有班次,继续往公式里添加对应关系,比如"7-XX", 9这样。
  • 汇总总工时的话,搭配SUMPRODUCT直接搞定:
    =SUMPRODUCT(SWITCH(A2:A8, "5-LB",10, "holiday",8, "12-cls",8,0))
    

小提醒

  • 如果你的班次代码很多、后续还可能新增或修改,优先选方案一,改辅助表比改公式省事太多;
  • 如果班次少且固定,方案二更直接,不用额外占表格空间。

备注:内容来源于stack exchange,提问作者Megan Sheil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 09:12:37