excel 累计时长计算

比如
某人加班:
2008.07.01:17.30-19.40 如何用公式计算加班时长?得出2小时10分

再比如
某人加班:
2008.07.01 加班2小时10分
2008.07.02 加班1小时30分
2008.07.05 加班30分
有没有公式可以计算出累计加班X小时X分

假设A列填具体日期,B列填"加班2小时10分"、“加班1小时30分”、“加班30分”这些字样,在C列中把它们转化为可以计算的时间数据,请将C列单元格属性设为时间格式。

在C1中设置公式:
=IF(ISERROR(FIND("小时",B1)),--TEXT(SUBSTITUTE(SUBSTITUTE(B1,"加班","0:"),"分",""),"HH:MM:SS"),--TEXT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B1,"加班",""),"小时",":"),"分",""),"HH:MM:SS"))

把C1公式向下复制

最后,用sum函数对C列中转化后数据求和即可(求和单元格也要设为时间格式)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-09
那个公式这么长,还只是对时间格式进行了转化。
窃取一下大徐哥的成果,修改一下公式,一步计算出最终结果。

=TEXT(SUM(IF(ISERROR(FIND("小时",B1:B3)),--SUBSTITUTE(SUBSTITUTE(B1:B3,"加班","0:"),"分",""),--SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B1:B3,"加班",""),"小时",":"),"分",""))),"共计加班[H]小时M分")

或者
=TEXT(SUM(IF(LEN(B1:B3)>5,MID(B1:B3,3,1)/24+MID(B1:B3,6,2)/1440,MID(B1:B3,3,2)/1440)),"累计加班[H]小时M分")

以上两公式都需要按Ctrl+Shift+Enter结束输入
相似回答