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

连续列条件求和:多人员任务总时长换算求和公式咨询

任务总时长自动计算的Excel公式方案

嘿,我来帮你搞定这个任务时长求和的问题!咱们的目标是把同一行里所有带单位(分钟/小时)的时长统一转成分钟,然后自动求和,而且因为人员数量远多于4人,公式得能适配后面新增的列,不用每次手动调整范围。

通用版公式(适配所有Excel版本)

直接在B2单元格输入下面的公式就行:

=SUMPRODUCT(--LEFT(C2:XFD2,FIND(" ",C2:XFD2)-1)*IF(RIGHT(C2:XFD2,2)="hr",60,1))

我给你拆解下逻辑:

  • LEFT(C2:XFD2,FIND(" ",C2:XFD2)-1):提取每个时长单元格里的数字部分,--是把提取到的文本转成可计算的数值
  • IF(RIGHT(C2:XFD2,2)="hr",60,1):判断单位,如果是小时(hr)就乘以60转成分钟,分钟的话乘以1保持不变
  • SUMPRODUCT:自动把每个数字和对应的转换系数相乘,然后求和,而且不用按数组公式的组合键,用起来更省心
  • 用C2:XFD2是因为Excel的最大列就是XFD,不管后面加多少人员列,这个范围都能覆盖到

简洁版公式(仅Excel 365/2021可用)

如果你用的是新版Excel,这个公式更直观:

=SUM(--TEXTBEFORE(C2:XFD2," ")*IF(TEXTAFTER(C2:XFD2," ")="hr",60,1))

逻辑和上面一致,只是用TEXTBEFORE直接提取空格前的数字,TEXTAFTER提取空格后的单位,写法更简洁,新版Excel支持动态数组,SUM就能直接处理整个范围。

验证你的例子

拿你说的任务A来测试:假设对应的单元格内容是30 min、2 hr、150 min,公式会计算:30*1 + 2*60 + 150*1 = 300分钟,完全符合预期。

如果你的单位写法是中文(比如"分钟"、"小时"),只要把公式里的判断条件改成对应的文字就行,比如把RIGHT(C2:XFD2,2)="hr"改成RIGHT(C2:XFD2,2)="小时"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:40:29