如下图所示,是某快递公司车辆运输表的部分内容。其中F列是计划到达时间,希望在G列得到这样的效果:
如果计划到达时间比系统时间早,就显示剩余时间。
如果计划到达时间晚于系统时间,就显示“超时xx小时xx分”字样。
要解决这个问题,咱们先梳理一下思路:
1、获取系统当前时间,需要使用NOW函数。
2、使用NOW()减去F列的时间,即可计算时间差。
3、借助TEXT函数,将相减后为正数的显示为时间,相减为负数的显示为“超时xx小时xx分”。
看起来很简单,咱们来试试。
G2单元格输入以下公式,下拉。=TEXT(F2-NOW(),"h:mm:ss;超时h:mm:ss")
TEXT函数的第二参数使用了两段格式代码,分号前的h:mm:ss对应正数应用的格式,h:mm:ss就是“时:分:秒”。
分号后的“超时h:mm:ss”对应负数应用的格式,就是在“时分秒”前面加上“超时”字样。
然而,从G3单元格开始公式返回错误值了,啥原因呢?
默认情况下,Excel是不支持负时间或者是负日期的,所以当F列的时间早于系统当前时间时,二者相减为负数,公式结果就出现问题了。
怎么办呢?
其实很简单,Excel里有一个能处理负日期和负时间的开关,打开这个开关就可以。
先依次单击 【文件】→ 【选项】,打开【Excel选项】对话框。
再切换到【高级】选项卡下,勾选【使用1904日期系统】,单击【确定】关闭对话框。
现在,公式就能正常运算了:
除了本文中的方法和公式,你还能想到哪些解决方案呢?
练手文件在此,试试吧:
https://pan.baidu.com/s/1Xul2_BXiv2Zb799j5PUKbg?pwd=9999
提取码: 9999
标签: Excel