乐于分享
好东西不私藏

Excel 实用技巧 | 别再手动数日期啦!账龄、工龄、到期日,三个函数轻松搞定

Excel 实用技巧 | 别再手动数日期啦!账龄、工龄、到期日,三个函数轻松搞定
这里有最实用的Excel使用技巧,通过提高Excel技能,可以让你轻松应对工作中的表格处理,提高你的工作效率!欢迎大家Follow关注~~

之前给大家介绍了不少统计函数、查找函数,这一期换个方向,给大家讲一组被严重低估的函数——日期函数

其实我们财务人免不了跟日期打交道,例如:这笔应收挂了多久了?账期到哪天该收钱?报销审批走了几个工作日?这些看着简单的问题,如果不会日期函数的话就只能用最笨的办法——翻日历一天天数

这一期用三个函数,把「数日历」这件事彻底干掉:DATEDIF 算账龄、EOMONTH 算到期日、NETWORKDAYS 算工作日


DATEDIF / EOMONTH / NETWORKDAYS 速查表

函数
作用
语法
一句话理解
DATEDIF
算日期间隔
=DATEDIF(起始,结束,"D")
差几天 / 几月 / 几年
EOMONTH
算月末
=EOMONTH(日期,N)
N 个月后的月末
NETWORKDAYS
算工作日
=NETWORKDAYS(起始,结束)
去掉周末的天数

核心逻辑:DATEDIF 是隐藏函数,Excel 不提示、不联想,但能正常算,单位写 "D" 天、"M" 月、"Y" 年。EOMONTH 专门算「某月最后一天」,账期、到期日一算就出。NETWORKDAYS 自动跳过周末,算「实际要上班的天数」。


场景1:DATEDIF 算应收账款账龄

月末做应收账款账龄分析,要算每一笔应收款「挂了多久」,账龄越长的越要抓紧催收、甚至计提坏账。老板问:这批货款里,哪几笔已经拖了半年以上?

以前你怎么做?打开日历,从开票日一天天数到今天;或者用「今天 − 开票日期」算出天数,再自己除以 30 估月数。几十笔应收,数日历数到怀疑人生,还容易数错。我们看下日期函数怎么帮我们手:

示例数据区域: A1:C9,应收账款明细(「今天」写死在 E1 = 2026-08-17)

客户
开票日期
发票金额(元)
华东商贸
2026-05-12
1,200,000
南方制造
2026-06-28
850,000
北方科技
2026-03-05
1,500,000
西部建材
2026-07-15
620,000
中原物流
2026-01-20
980,000
东南电子
2026-04-08
1,100,000
西南化工
2026-07-02
730,000
东北重工
2026-02-14
460,000

通用公式:

=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(开票日期同上)

客户
开票日期
华东商贸
2026-05-12
南方制造
2026-06-28
北方科技
2026-03-05
西部建材
2026-07-15
中原物流
2026-01-20
东南电子
2026-04-08
西南化工
2026-07-02
东北重工
2026-02-14

通用公式:

=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,报销审批表

报销单号
提交日期
审批完成日期
B001
2026-07-27
2026-08-14
B002
2026-07-29
2026-08-17
B003
2026-08-03
2026-08-17
B004
2026-07-31
2026-08-10
B005
2026-08-05
2026-08-14

通用公式:

=NETWORKDAYS(B2,C2)   → 含首尾的工作日数 

分析:

NETWORKDAYS(起始日期, 结束日期, [节假日]) 返回两个日期之间的工作日天数,自动跳过周六周日,第三参数还能额外排除法定节假日。

B001:07-27(周一)到 08-14(周五),自然天数是 19 天,但 =NETWORKDAYS(B2,C2) = 15 个工作日,中间的 4 个周末日被自动扣掉。

报销时效、项目工期、出勤天数、工资结算——凡是「要上班的日子才计数」的场景,都用它。


三个函数对比总结

场景
函数
痛点
公式
核心逻辑
算账龄
DATEDIF
翻日历数天数
=DATEDIF(B2,$E$1,"D")
差几天 / 几月 / 几年
算到期日
EOMONTH
月末自己推算
=EOMONTH(B2,1)
N 个月后的月末
算工作日
NETWORKDAYS
数完还要扣周末
=NETWORKDAYS(B2,C2)
自动跳过周末

日期函数是被低估的一类——它没有 VLOOKUP 那么出风头,但财务人的账龄、到期日、工作日,全靠它。

记住这三句:DATEDIF 管「差多久」,EOMONTH 管「哪天是月底」,NETWORKDAYS 管「有几个工作日」。下次别再翻日历了,一个公式下去,日期怎么变,结果怎么对。

好了,今天的分享就到这里了,希望可以为大家带来一些工作上的关注,我们下期再见~


下期预告:日期函数第二期——WORKDAY / WEEKDAY / YEARFRAC,算「第N个工作日是哪天」、判断某天是周几、算一年过去了几分之几。回复「日期2」提前领取配套练习。


附:长期坚持原创不易,如文章能够为大家带来少少帮助的,请大家点赞并转发,以支持我继续分享创作,你的支持将是我的不竭动力!谢谢!

(本文为本公众号原创,未经允许和授权,严禁转载,违者必究)