生产计划在排程中有时候需要计算每一个生产任务对应的完成时间,公式也非常简单就是完工时间减去开工时间,看起来非常简单的一个需求,但是当这个需求升级的时候,需要你分别按小时显示、按分钟显示、再或者按天显示。如何计算呢?
再说如何计算前,需要对Excel的时间有一个了解,很多新手计划员对这个Excel时间不理解的情况下,就很难明白为什么,明明录入2小时,为什么直接加上时间8:00,不是变成10:00呢?
如下图案例,生产任务WK-01,数量1000,根据标准工时,完成时间为2小时,开工时间是08:30,完工时间的公式也没有问题,等于开工时间加标工时间,但是结果没有变成是10:30,而还是8:30?

出现这样的问题,其实是没有理解当我们录入数字2在Excel单元格中代表了什么?根据Excel的日期定义,数字1代表的是1900年1月1日,也就是1天,数字2代表2天,日期格式显示为:1900-01-02。
根据这个定义,我们就明白刚刚的结果为什么还是显示08:30,因为开工时间是08:30,加上两天,就是两天后的08:30,如果还是不明白,选中这个单元格,按下Ctrl+Shift+3设置为日期格式显示为:
1900/1/2,就明白,如还需求显示时间,继续把格式设置为:yyyy/m/d h:mm,就可以看到区别了。

知道了问题的所在,就知道错误的原因了,为了更全面的学习Excel时间,古老师从时间定义、录入方法、时间格式这三个方面来详细的说明Excel的时间问题。讲完后,对于Excel的时间计算都不是问题了。特别是时间格式,有了时间格式设置,可以任意把时间转成小时、分、天的显示。

时间定义
因为时间的定义1就是1天,所以对于小时来说就可以理解:1天有24小时,1小时就是1除以24,得到的数字就是1小时,显示的时间格式就1:00:00,同理1小时有60秒,用小时除以60,就可以得到1秒。所以他们之间的关系如下图,符号以下图规则的时间是可以进行运算的。如是文本型时间,则需要用函数进行二次加工后才能运算。

录入方法
通过对时间的定义,可以发现Excel对于时间的格式要求非常高,而Excel默认的格式就是数值,如果想直接录入日期格式或者时间格式的话,可以通过快捷键来实现。
按下Ctrl+;,直接录入当前日期,格式自动转换成日期格式
按下Ctrl+Shift+; ,直接录入当前时间,格式自动转换成时间格式;
先按下Ctrl+;,再按下空格键,再按下Ctrl+Shift+; ,直接录入当前日期和时间,格式自动转换成日期加时间格式;
如果快速的把其他单元格设置同样的格式,可以用格式刷或者粘贴格式的方法统一设置。
如果修改的话,建议在地址栏修改,这样出错的概率会降低。修改完后就可以直接按回车

时间格式
Excel的时间,本质上就是数值,如果需要显示成小时,或者分,用Excel默认的格式会不好用,如超过1天的需要显示成36小时,这样就会显示成下图(明显不是想要的显示结果):

如果需要显示正确的话,就需要用Excel的自定义格式,用标准格式“[H]小时M分钟S秒”这样的格式,设好了的话,可以自动转成对应的小时、分、秒。
设置方法如下:
选中需要设置的单元格,按下Ctrl+1→设置单元格格式→自定义
格式1:[H]小时M分钟S秒,全部显示:1小时57分钟23秒;
格式2:[H]小时M分钟,部分显示: 1小时57分钟
格式3:[H]小时,只显示小时:120小时
格式4:[M]分钟,只显示分钟:1557分钟
格式5:[S]秒,只显示秒:432000秒;

