Excel中求和文本格式hh:mm时间(SUM返回0)及输出hhh:mm:ss格式的方法
纯文本格式时间求和解决方法
SUM返回0的核心原因:你存储的"12:00"是纯文本,不是Excel可计算的时间序列值,哪怕后续手动改单元格格式为时间,只要内容本质是文本,SUM函数就会自动跳过不计入,所以结果为0。
方法1:批量转换文本时间为可计算格式(适合后续需要频繁做时间计算的场景)
操作步骤:
- 选中所有存放文本时间的目标单元格区域
- 点击顶部菜单栏「数据」选项卡,选择「分列」功能
- 分列向导的前两步直接点击「下一步」即可,到第三步时,列数据格式选择「时间」,默认的「时分秒」匹配规则无需修改,点击「完成」
- 转换完成后直接输入求和公式即可,比如你的时间存在A2:A100单元格,就写
=SUM(A2:A100)
方法2:不修改原单元格,直接用公式求和(适合不想改动源数据的场景)
直接在要输出结果的单元格输入对应公式,把公式里的区域替换成你实际的文本时间范围即可:
- Excel 365/2021及以上版本直接输入:
=SUMPRODUCT(--A2:A100),回车即可得出结果 - Excel 2019及更早版本输入完公式后,需要按下
Ctrl+Shift+Enter三键触发数组运算,否则会计算错误
公式逻辑很简单:两个连减号会把类似"12:00"的纯文本转换为Excel对应的时间序列值(Excel以1代表1整天,1小时对应1/24的序列值),SUMPRODUCT会自动对这些转换后的数值求和。
设置总时长为hhh:mm:ss格式(解决超24小时显示异常的问题)
这步是很多人容易踩的坑:如果时间总和超过24小时,默认的时间格式会自动按24进制进位为天数,比如30小时会显示成06:00:00,完全不符合需求。设置步骤:
- 选中放置求和结果的单元格,右键选择「设置单元格格式」
- 左侧分类选「自定义」,在右侧的「类型」输入框中填写
[h]:mm:ss,注意小时部分的h必须用方括号包裹,作用是告诉Excel不要按24小时进制进位,直接累计显示总小时数 - 点击确定后,就能正常输出比如
27:45:30这种超过24小时的时间总和了
小提示
- 如果转换或计算时出错,先检查原文本里的时间分隔符是不是都是英文冒号
:,如果是点号/其他符号的,按下Ctrl+H调出替换窗口,把分隔符统一替换成英文冒号再操作。
内容的提问来源于stack exchange,提问作者ferrum
相关产品推荐
相关产品推荐

