之前给大家介绍了不少统计函数、查找函数,这一期换个方向,给大家讲一组被严重低估的函数——日期函数。
其实我们财务人免不了跟日期打交道,例如:这笔应收挂了多久了?账期到哪天该收钱?报销审批走了几个工作日?这些看着简单的问题,如果不会日期函数的话就只能用最笨的办法——翻日历一天天数。
这一期用三个函数,把「数日历」这件事彻底干掉:DATEDIF 算账龄、EOMONTH 算到期日、NETWORKDAYS 算工作日。
DATEDIF / EOMONTH / NETWORKDAYS 速查表
=DATEDIF(起始,结束,"D") | |||
=EOMONTH(日期,N) | |||
=NETWORKDAYS(起始,结束) |
核心逻辑:DATEDIF 是隐藏函数,Excel 不提示、不联想,但能正常算,单位写
"D"天、"M"月、"Y"年。EOMONTH 专门算「某月最后一天」,账期、到期日一算就出。NETWORKDAYS 自动跳过周末,算「实际要上班的天数」。
场景1:DATEDIF 算应收账款账龄
月末做应收账款账龄分析,要算每一笔应收款「挂了多久」,账龄越长的越要抓紧催收、甚至计提坏账。老板问:这批货款里,哪几笔已经拖了半年以上?
以前你怎么做?打开日历,从开票日一天天数到今天;或者用「今天 − 开票日期」算出天数,再自己除以 30 估月数。几十笔应收,数日历数到怀疑人生,还容易数错。我们看下日期函数怎么帮我们手:
示例数据区域: A1:C9,应收账款明细(「今天」写死在 E1 = 2026-08-17)
通用公式:
=DATEDIF(B2,$E$1,"D") → 账龄天数 =DATEDIF(B2,$E$1,"M") → 账龄整月数 =DATEDIF(B2,$E$1,"Y") → 账龄整年数 分析:
DATEDIF(起始日期, 结束日期, 单位) 返回两个日期之间的间隔,单位 "D" 整天、"M" 整月、"Y" 整年。
华东商贸 =DATEDIF(B2,$E$1,"D") = 97 天;中原物流 2026-01-20 到今天 = 209 天,谁是「陈年老账」一眼就看出来。
💡 两个坑:① DATEDIF 是隐藏函数,Excel 输入时不会自动联想提示,但完整敲完回车照常能算,别以为它不存在。② 开始日期必须早于或等于结束日期,顺序写反会报
#NUM!。
这里把「今天」写死在 E1 是为了演示方便,真实使用把 $E$1 换成 TODAY(),账龄就能天天自动更新。
场景2:EOMONTH 算账期到期日
假如公司账期是「次月月底结清」,每张开票单都要算出它的到期日,好排收款计划。开票日是 5-12,到期日是哪天?
以前你怎么做?开票日加 30 天?5 月 12 日加 30 天是 6 月 11 日,但「次月月底」是 6 月 30 日——根本不是加 30 天。月底有大月小月、还有 2 月 28/29 天,手算到期日,错一个日期就晚收一天钱。用EOMONTH就不用这么麻烦了,例如:
示例数据区域: A1:B9(开票日期同上)
通用公式:
=EOMONTH(B2,1) → 次月月底 =EOMONTH(B2,0) → 本月月底 =EOMONTH(B2,-1) → 上月月底 分析:
EOMONTH(日期, N) 返回「从该日期起 N 个月后的那个月最后一天」。1 = 下月月末、0 = 本月月末、−1 = 上月月末。
华东商贸 2026-05-12,=EOMONTH(B2,1) = 2026-06-30;东北重工 02-14 → 03-31;中原物流 01-20 → 02-28(2 月自动算出 28 天,闰年还会自动 29 天)。
大月小月、闰年平年,全不用自己记,函数自动搞定。
场景3:NETWORKDAYS 算报销审批工作日
公司考核报销审批时效,要统计每张报销单从提交到审批完成「走了几个工作日」——注意是工作日,周末两天不算。
以前你怎么做?用「完成日期 − 提交日期」算出自然天数,再手动减去中间的周末。日期跨度一大,扣周末扣到崩溃,还老扣错。NETWORKDAYS可以为我们完美解决这个问题:
示例数据区域: A1:C6,报销审批表
通用公式:
=NETWORKDAYS(B2,C2) → 含首尾的工作日数 分析:
NETWORKDAYS(起始日期, 结束日期, [节假日]) 返回两个日期之间的工作日天数,自动跳过周六周日,第三参数还能额外排除法定节假日。
B001:07-27(周一)到 08-14(周五),自然天数是 19 天,但 =NETWORKDAYS(B2,C2) = 15 个工作日,中间的 4 个周末日被自动扣掉。
报销时效、项目工期、出勤天数、工资结算——凡是「要上班的日子才计数」的场景,都用它。
三个函数对比总结
=DATEDIF(B2,$E$1,"D") | ||||
=EOMONTH(B2,1) | ||||
=NETWORKDAYS(B2,C2) |
日期函数是被低估的一类——它没有 VLOOKUP 那么出风头,但财务人的账龄、到期日、工作日,全靠它。
记住这三句:DATEDIF 管「差多久」,EOMONTH 管「哪天是月底」,NETWORKDAYS 管「有几个工作日」。下次别再翻日历了,一个公式下去,日期怎么变,结果怎么对。
好了,今天的分享就到这里了,希望可以为大家带来一些工作上的关注,我们下期再见~
下期预告:日期函数第二期——WORKDAY / WEEKDAY / YEARFRAC,算「第N个工作日是哪天」、判断某天是周几、算一年过去了几分之几。回复「日期2」提前领取配套练习。
附:长期坚持原创不易,如文章能够为大家带来少少帮助的,请大家点赞并转发,以支持我继续分享创作,你的支持将是我的不竭动力!谢谢!
(本文为本公众号原创,未经允许和授权,严禁转载,违者必究)
夜雨聆风