财务计算经常要用,但却找不到的函数,因为它是隐藏函数!
在财务工作和人力资源管理中,经常需要计算两个时间的间隔,比如需要计算员工的工龄等。
在excel中,时间本来就是一个数字,是可以用来直接计算的。那么,excel中有这样的函数吗?——还真有!
datedif函数就是这样的函数,可以用来计算两个时间间隔的年、月、日。
但是,在excel的帮助和插入公式里面却没有。因此,datedif函数是excel的隐藏函数,该函数只能手工输入,而不能使用插入公式输入。
一、函数语法简介
datedif(起始时间,结束时间,需要计算的时间间隔类型)
起始时间:为一个日期,它代表时间段内的第一个日期或起始日期。
结束时间:为一个日期,它代表时间段内的最后一个日期或结束日期。
需要计算的时间间隔类型:为所需信息的返回类型。
注:结束日期必须大于起始日期。
下面举个小例子:在日常工作中非常实用。
假如b1单元格写的也是一个日期,那么下面的三个公式可以计算出b1单元格的日期和今天的时间差,分别是年数差,月数差,天数差。注意下面公式中的引号和逗号括号都是在英文状态下输入的。

=datedif(b1,today(),"y")计算年数差,"y"代表要求时间段中的整年数。
=datedif(b1,today(),"m")计算月数差,"m"代表要求时间段中的整月数。
=datedif(b1,today(),"d")计算天数差,"d"代表要求时间段中的天数。
"md"代表要计算两个日期中天数的差,但是忽略日期中的月和年。
"ym"代表要计算两个日期中月数的差,但是忽略日期中的年。
"yd"代表要求两个日期中天数的差,忽略日期中的年。
二、使用datedif函数计算的间隔天数相等而间隔月份不一定相等
datedif函数计算的间隔月份是指足月。大家都知道每年的12个月,并不是所有月份的天数都是相等的,因此在datedif函数计算时会出现间隔天数相等而间隔月份不相等的情况,甚至还会出现间隔天数少的而间隔月份多的情况。
下面举例说明:图e6-2

图e6-2说明:通过datedif函数计算的间隔天数是30天的,可能datedif函数计算的间隔月份是0,反而间隔天数是28天或29天的可以间隔月份是1。
这个特点对于财务工作中的需要特别注意!我之前在设置固定资产折旧函数公式时就在这上面出现过错误。本来会计准则规定,当月入账的固定资产,次月开始折旧。当月入账的固定资产,可能是当月1号,也可能是当月最后一天,那么如果datedif函数计算的间隔月份就可能少一个月的情况。最后我嵌套了一个eomonth函数才解决了问题。
三、应用举例
在员工表上设置函数公式,自动生成员工的工龄和生日提醒。如图e6-3

说明:
1.“年龄”的计算:
在单元格e2输入函数公式:=datedif(c2,today(),"y")
2.“工龄”的计算:
在单元格f2中输入函数公式:=datedif(d2,today(),"y")
3.“生日提醒”的设置
(1)输入函数公式:
在单元格g2中输入函数公式:=if(datedif(c2,today(),"yd")<8,"距离生日还有"&datedif(c2,today(),"yd")&"天","")
当距离生日还有7天时就开始提醒,其余时间则不显示任何内容。
(2)条件格式的设置
当出现生日提醒时,自动生成不同颜色以引起注意。这个只需要通过菜单栏的“条件格式”设置即可。
步骤:用鼠标选中需要设置的区域→开始→条件格式→突出显示单元格规则(h)→文本包含(t),这时会出现下面的对话框:

只需要在对话框中输入“距离生日”或“距离”等文字就可以了。
我曾经说过,excel的函数不用记,但是对于datedif函数却不适用,因为它是隐藏函数,所以必须要记住它。还好,隐藏函数不是很多。
更多excel财务应用,请参阅:

(当当网、京东商城、淘宝网、天猫等有售)









阅读平台上看视野