分享

[转载]用Excel巧妙计算加班工作时间

 WINDY99 2010-07-17
最近,本学校的电教小组为了教学方面的任务日夜加班,按照学校的职责制度,应该有一定的报酬。因此,学校要求把每天的加班时间统计出来,用作日后报酬之依据。立即动手用Excel制作出一张统计表,然后如实地把每天工作的时间填进去(如图1)。在E5单元格里输入“=D5-C5”,这天的工作时间就计算出来了,其他单元格进行复制就可以了。就这样不知不觉地工作了一个星期左右才完成学校交给的任务(当然是边教学边工作)。

  时间怎么不对了

  最后在E16单元格里把这些时间求和时,问题出现了(如图1),怎么才工作1∶30?是不是操作错误?重新计算一次,问题还是如此。看来是别的原因,人工计算又不甘心,于是就开始认真分析起来,最后发现:Excel对时间求和的计算是以24小时为基准,即满了24小时后又从0开始,所以就出现了上面的这种情况。


图1

  找个解决办法吧

  通过对时间函数的研究,终于找到了解决问题的办法,即把时间转换成小时后再来进行求和计算,那么就需要在E5单元格里输入“=SUM(HOUR(SUM(D5,-C5)),MINUTE(SUM(D5,-C5))/60)”。它的意思是:把D5与C5两个单元格里的时间的差分别转换为小时与分钟,再把分钟转换成小时,最后把它们相加起来,然后再复制到其他单元格,结果如图2所示(值得大家注意的是:E5至E16的这些单元格的格式必须设置成常规格式,不然还是不能正确地显示)。


图2

  顺便再多说几句,有时把开始的时间填上了,而还不知道什么时候结束时,时间的计算就会出现错误提示“#NUM!”。这虽然不影响以后时间的计算,但总觉得看起不舒服,怎样解决这个问题呢?其时很简单,只要用上逻辑判断IF语句,问题就迎刃而解了。在语句中加入:“=IF(OR(A5="",B5=""),"",SUM(HOUR(SUM(B5,-A5)),MINUTE(SUM(B5,-A5))/60))”,它的意思是:如果A5、B5中任何一个单元格为空白单元格,则不进行计算,否则就按照前面所写的语句进行计算,这样错误提示就没有了。

  如果本人的这一点小小的收获能对同行有所帮助,那将是我最大的快乐,如果有感兴趣的朋友,不妨试一试。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多