EXCEL在同一个单元格内有多个时间段如何求和?
因为你的数据不规范,所以我这边分成几个步骤来实现你要的效果,如图我自己随便编辑了一段时间
这个是我的做的总的效果,不知道是不是你说的意思
步骤,如图:M列是你的原始数据,需要规范一下数据,可以把原始数据直接都复制到文本文档里面,这样不要一个一个的输入,文档会自动取消表格的格式转换为数值,
然后把文档里面的时间全选复制,在表格里面N1单元格右键-选择性粘贴
然后再选中N列数据,替换(按CTRL+H),把“:”替换为“时”(也可以是其他的,随便你喜欢)
这里为了方便查看,把替换的数据复制到了O列,
然后在P1单元格输入公式 =EVALUATE(LEFT(O1,FIND("时",O1,1)-1)) 然后下拉
然后在Q1单元输入公式 =EVALUATE(RIGHT(O1,2)) 然后下拉
然后在一个空白的单元格输入 =SUM(P1:P8)+ROUNDDOWN(SUM(Q1:Q8)/60,0)&"小时"&ROUND((SUM(Q1:Q8)/60-ROUNDDOWN(SUM(Q1:Q8)/60,0))*60,0)&"分" 就可以得到总的小时和分钟了
如图所示
不好意思,你算的结果不正确,不是这样的。例如14:03-14:06,15:03-15:13,16:14-16:20就算过程是3+10+6等于19分钟。
计算结果有时候对,有时候老出现负值,请问是什么原因呢?
公式的结构是按照你的数据(开始-结束,开始-结束,……,开始-结束)来构造的,原理就是把所有开始时间全部转化成负数,所有结束时间为整数,这样一求和得出的就是所有经历时间。
公式需要同时按下Ctrl+Shift+Enter结束输入,正确输入后公式会被{}括起来,你看我图的效果。是否正确输入可以再确认一下。
可以把你这个带有计算结果的发我邮箱一份吗?我复制完怎么计算的就不对呢?谢谢
只能是你的不对发个给我邮箱看看,否则怎么知道你的错在哪里啊!
按理来说,公式应该可以解决问题的,或者使用下面的公式看看:
=SUMPRODUCT(IFERROR(1440*(-1)^ROW($1:$800)*TRIM(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(P4,",,",","),"-",REPT(" ",1000)),",",REPT(" ",1000)),1000*ROW($1:$800)-999,900)),0))
若是你的计算结果还是有问题,
肯定是归结在于最早与你说过的:你的数据存在连续2个逗号的问题!!!你检查一下数据的规范性!!!