excel中天数小时分钟的加法计算

如题所述

基于fan4di|的回答,整合了进位和显示需要
B9里的公式:
=CONCATENATE(ROUNDDOWN(((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8,0),"天",ROUNDDOWN((((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8-(ROUNDDOWN(((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8,0)))*8,0),"小时",ROUND(((((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8-(ROUNDDOWN(((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8,0)))*8-(ROUNDDOWN((((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8-(ROUNDDOWN(((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8,0)))*8,0)))*60,0),"分钟")
B9显示结果示例:
40天6小时52分钟
B10里公式:
=CONCATENATE((ROUND(((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60/8,2)),"天")
B10显示结果示例:48.86天
B11里公式:=CONCATENATE((ROUND(((SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1)))*8*60+(SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1)))*60+(SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))))/60,2)),"小时")
B11显示结果示例:390.87小时
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-17
求天数、小时数、分钟数所用公式如下(未考虑进位):
=SUMPRODUCT(--LEFT(B1:B8,FIND("天",B1:B8)-1))
=SUMPRODUCT(--MID(B1:B8,FIND("天",B1:B8)+1,FIND("小时",B1:B8)-FIND("天",B1:B8)-1))
=SUMPRODUCT(--MID(B1:B8,FIND("小时",B1:B8)+2,FIND("分钟",B1:B8)-FIND("小时",B1:B8)-2))
仅供参考
第2个回答  2020-03-25
一定要用公式么?
vba还好整
,最好办的方法是
利用固定字符分列
分成
天一列
小时一列
分钟一列
然后就是简单的数学计算了。本回答被提问者采纳
第3个回答  2019-02-07
请看附件,方便快捷,已验证!希望可以帮到你!
相似回答