时光虽不能倒流,但Excel 中日期和时间的差值如何显示负数?

文摘   职场   2024-11-16 19:00   上海  

公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!


点击上方蓝字 --> 点击“...”--> 选择“设为星标


日期和时间的差值计算,跟一般的数值计算有点不一样,因为时间一逝永不回,所以默认情况下不存在负值的概念。


如果非要显示负值行不行呢?


案例:


计算两个日期和时间之间的差值,负日期和负时间也要正常显示。


效果如下图 1、2 所示。


解决方案 1:负日期


1. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=DATEDIF(A2,B2,"d")


公式释义:

  • datedif 的作用是计算两个日期之间相隔的天数、月数或年数;

  • 参数为 datedif(开始日期,结束日期,返回的结果类型);

  • 本公式中的参数 "d" 表示天数


有关该公式的详解,可参阅 Excel – 用 datedif 给诸葛钢铁写情书


对于 datedif 函数来说,如果开始日期大于结束日期,结果将为 #NUM!。


如果要将 #NUM! 变成负数,可以这样设置公式。


2. 将公式修改如下:

=IF(A2<B2,DATEDIF(A2,B2,"d"),-DATEDIF(B2,A2,"d"))


  • 这样修改以后,就能确保 datedif 的参数中的日期始终小的在前,大的在后,能计算出结果;

  • 在逾期的结果前加上“-”号,就成了负数。


通过这个原理,还可以变通一下,将剩余和逾期天数分别显示在两列中。


3. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=IF(A2<B2,DATEDIF(A2,B2,"d"),"")


4. 在 D2 单元格中输入以下公式 --> 下拉复制公式:

=IF(A2>B2,DATEDIF(B2,A2,"d"),"")


解决方案 2:负时间


1. 用 B 列的时间减去 A 列的时间:


正值没有问题,负的就会出现填满单元格的“#”号。


如要显示负时间,可以这样设置。


2. 选择菜单栏的“文件”-->“选项”


3. 在弹出的对话框中选择“高级”--> 勾选“使用 1904 日期系统”--> 点击“确定”


负的时间就显示出来了。


转发、点赞、在看也是爱!

Excel学习世界
你遇到的所有 Excel 坑,我都帮你趟过了。
 最新文章