大数跨境

today和eomonth函数如何组合使用,

today和eomonth函数如何组合使用, 浅谈出口账务和excel函数
2026-09-21
5
在 Excel 中,TODAY 和 EOMONTH 组合使用,最典型的场景是动态计算当月、上个月或下个月的月末日期。

核心公式

1. 本月最后一天

```excel
=EOMONTH(TODAY(), 0)
```

TODAY() 提供当前日期,EOMONTH 的第二个参数 0 表示本月。

2. 上月最后一天

```excel
=EOMONTH(TODAY(), -1)
```

3. 下月最后一天

```excel
=EOMONTH(TODAY(), 1)
```

进阶用法

判断今天是否为本月最后一天

```excel
=IF(TODAY()=EOMONTH(TODAY(),0), "是月末", "不是月末")
```

计算本月剩余天数

```excel
=EOMONTH(TODAY(),0)-TODAY()
```

生成本月月份名称

```excel
=TEXT(EOMONTH(TODAY(),-1)+1, "yyyy年mm月")
```

思路:先取上月最后一天,再加 1 天得到本月 1 号,最后用 TEXT 格式化。

注意事项

· 版本要求:EOMONTH 在 Excel 2007 及以上版本可直接使用;2003 及更早版本需加载“分析工具库”。
· 格式问题:结果可能是数字序列号,需将单元格格式设置为“日期”才能正常显示。
· 易错点:EOMONTH 第二个参数是月份偏移量,不是天数;写 EOMONTH(TODAY(),30) 会得到 30 个月后的月末,而非 30 天后。
· 易失性函数:TODAY() 是易失性函数,每天打开文件会自动更新,适合做动态报表。

下面按最常见的两类场景,直接给你可套用的公式。

一、工资周期

场景1:按月发薪,算本月工资周期(1号到月末)

```excel
开始日期:=EOMONTH(TODAY(),-1)+1
结束日期:=EOMONTH(TODAY(),0)
```

· EOMONTH(TODAY(),-1)+1:上月最后一天加1天 = 本月1号
· EOMONTH(TODAY(),0):本月最后一天

场景2:算上个月工资周期

```excel
开始日期:=EOMONTH(TODAY(),-2)+1
结束日期:=EOMONTH(TODAY(),-1)
```

场景3:每月15号为结算日(15号到次月14号)

假设今天在周期内,求当前所属周期:

```excel
开始日期:=IF(DAY(TODAY())>=15, DATE(YEAR(TODAY()),MONTH(TODAY()),15), DATE(YEAR(TODAY()),MONTH(TODAY())-1,15))
结束日期:=EDATE(开始日期,1)-1
```

EDATE(开始日期,1)-1:开始日期往后推1个月的对应日前一天。

场景4:算本月应出勤天数(排除周末)

```excel
=NETWORKDAYS(EOMONTH(TODAY(),-1)+1, EOMONTH(TODAY(),0))
```

如需排除法定节假日,加第三参数区域:

```excel
=NETWORKDAYS(EOMONTH(TODAY(),-1)+1, EOMONTH(TODAY(),0), 节假日区域)
```

---

二、合同到期日

场景1:固定期限合同,从签订日算N年

```excel
=EDATE(签订日期, 12*N)
```

例:签3年

```excel
=EDATE(A2, 36)
```

场景2:到期前提醒(剩余天数)

```excel
=到期日期-TODAY()
```

场景3:到期前30天预警

```excel
=IF(到期日期-TODAY()<=30, "即将到期", "正常")
```

或显示具体状态:

```excel
=IF(到期日期<TODAY(),"已到期",IF(到期日期-TODAY()<=30,"即将到期","正常"))
```

场景4:合同到期日遇周末顺延到下一个工作日

```excel
=WORKDAY(EDATE(A2,36)+1, 0)
```

思路:EDATE(A2,36)+1 是到期日的次日,WORKDAY(...,0) 表示从该日起找最近的工作日(若次日是工作日则返回次日,相当于到期日顺延)。

更严谨的写法(到期日当天是周末才顺延):

```excel
=IF(WEEKDAY(EDATE(A2,36),2)>5, WORKDAY(EDATE(A2,36),1), EDATE(A2,36))
```

场景5:按“到期月月末”作为合同终止日

```excel
=EOMONTH(EDATE(A2,36),0)
```

例:2023-03-15签3年 → 2026-03-31到期。

---

三、组合实战:工资周期 + 合同到期联动

判断合同是否在当前工资周期内到期:

```excel
=IF(AND(到期日期>=EOMONTH(TODAY(),-1)+1, 到期日期<=EOMONTH(TODAY(),0)), "本周期内到期", "不在本周期")
```

算合同到期所在月的工资结算截止日:

```excel
=EOMONTH(到期日期,0)
```

---

关键注意点

函数 作用 易错点
EOMONTH 取某月最后一天 第二参数是月份偏移,不是天数
EDATE 日期加减N个月 同样按月偏移,不是天
WORKDAY 算工作日 默认排除周六日,可加节假日
NETWORKDAYS 算工作日天数 含首尾两天


【声明】内容源于网络
0
0
浅谈出口账务和excel函数
1234
内容 1484
粉丝 0
浅谈出口账务和excel函数 1234
总阅读25.1k
粉丝0
内容1.5k