excel时间相加,时间格式*小时**分钟,有一列,怎么把这一列的时间都加起来,如图

如题所述

一种方案:

任意单元格输入:


a=SUM(NUMBERVALUE(LEFT(A:A)))   Ctrl+Shift+回车   结果是小时数。


b=SUM(NUMBERVALUE(MID(A:A,4,2)))   Ctrl+Shift+回车   结果是分钟数。


=(a+int(b/60))&"小时"&mod(b,60)&"分钟"  可以得到和你原来格式一样的结果


看图吧

补充C8单元格公式  =(C6+INT(D6/60))&"小时"&MOD(D6,60)&"分钟"

追问

我返回的时#VALUE! 用的这种方案b=SUM(NUMBERVALUE(MID(A:A,4,2))) ,我就把A:A更换成C4:C10了。

不过我C这一列的时间都是公式计算出来的 =TEXT(B5-B4,"[h]小时m分钟")

这怎么办呢

追答

不是文本?你是计算出来的?
那就在下面单元格输入 =TEXT(SUM(C4:C10),"[h]小时m分钟") 不就行了?

追问

返回的0小时0分钟。 时间源数据(也就是B列)是按照时间**:**分类的,C那一列是常规分类,用的公式=TEXT(B5-B4,"[h]小时m分钟")

用 =TEXT(SUM(C4:C10),"[h]小时m分钟") 这个公式返回0小时0分钟。

郁闷了

追答

不用text函数试试看,改为设置单元格格式为 自定义 : h"小时"mm"分钟";@

追问

还是0小时0分钟

追答

不用text函数,每一行的结果不能是零吧。总有数吧???
就是文本格式,如果里面是数据,用sum求和也不能是得零啊。

追问

确实结果就这样,不知道怎么回事。
我找了个另外的方法,就是把我C列里面的小时全部替换成冒号,分钟全部空着,比如3小时30分钟就是3:30,另外找一列与C列对应起来,使用公式:=(hour(C5)*60)+(minute(C5))
向下填充, 然后总时间求和Q3,然后使用你教我的公式=(C6+INT(Q3/60))&"小时"&MOD(Q3,60)&"分钟"。
把不要的数据列隐藏
这样才搞定。

谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-25

用sum求和 在单元格格式 自定义[h]"时"mm"分" 如下图

第2个回答  2014-04-25
=TEXT(SUMPRODUCT(--SUBSTITUTE(SUBSTITUTE(A2:A10,"小",),"钟",)),"[h]小时m分钟")
这样,单元格地址自己修改。
第3个回答  2014-04-25
都是文字的话,用公式直接相加似乎不行,建两个辅助列应该可以试试。
第4个回答  2014-04-25
在D列把所有时间转化为分钟,假定4小时33分钟这一行在第4行,用公式=
left(C4,1)*60+mid(C4,4,2)即可,
相似回答