效果:
公式:
= If(DateDif(Today(), F3, "y") = 0, "", DateDif(Today(), F3, "y") & "年") & If(DateDif(Today(), F3, "ym") = 0, If(DateDif(Today(), F3, "y") = 0, "", If(DateDif(Today(), F3, "md") = 0, "整", "零")), If(DateDif(Today(), F3, "md") = 0, DateDif(Today(), F3, "ym") & "个月整", DateDif(Today(), F3, "ym") & "个月")) & If(DateDif(Today(), F3, "md") = 0, "", DateDif(Today(), F3, "md") & "天")
'CSDN编辑器这个黑色透明滚动条真的很烦人,不能选择自动换行,只好加两行顶下去了。
其中F3就是上图中的 [到期时间] 列的第一行 “2019年03月30日”,结果显示为 “11个月18天”。(是的你猜对了,今天是2018年4月12日)
这里主要使用了 DateDif 函数,这个函数和VBS里的 DateDiff 函数不同,不仅参数位置不同,参数含义也不同。
格式:
DateDif(StartDate, EndDate, Unit)
第一个参数 StartDate 表示开始时间,在这里我引用了 F3 单元格的数据。
第二个参数 EndDate 表示结束时间,在这里我用 Today() 来取得当前时间。所以每天打开这个表格文件时 [剩余时间] 的值是不同的。
第三个参数 Unit 影响函数的取值结果,有 6 种。如下:
- “y” 返回时间段中的整年数
- “m” 返回时间段中的整月数
- “d” 返回时间段中的天数
- “md” 天数之差,忽略年和月(除去整年和整月剩多少天,比如12天,一定小于一个月的天数)
- “ym” 月数之差,忽略年和日(除去整年剩多少个月,不大于12)
- “yd” 天数之差,忽略年。按照月、日计算天数(除去整年剩多少天,比如128天,可能大于一个月的天数)