Google Sheets获取上月日期:EDATE公式异常问题求助
Google Sheets 修正EDATE减月后日期持续偏移问题
当使用=EDATE(A2, -1)对30日的日期做逐月递减运算时,若遇到仅有28天的2月,后续月份会错误地持续返回28日(而非预期的30日)。比如从4/30/2025开始递减,1月本该返回1/30/2025,公式却返回1/28/2025。
解决方案公式
如果起始日期在A2,在A3单元格输入以下公式后下拉:
=DATE(YEAR(A2), MONTH(A2)-1, MIN(DAY(A$2), DAY(EOMONTH(A2, -1))))
公式原理
DAY(A$2):锁定起始日期的日数(此处为30),确保后续计算始终以该日数为基准DAY(EOMONTH(A2, -1)):获取目标月份最后一天的日期数(比如2月为28)MIN(...):取起始日数和目标月份最大日数的较小值,保证生成的日期有效DATE(...):组合年、月、日参数生成正确的目标日期
验证结果
应用公式后,将得到符合预期的结果:
| 首行起始值,后续为预期结果 | 修正后公式返回值 |
|---|---|
| 4/30/2025 | 4/30/2025 |
| 3/30/2025 | 3/30/2025 |
| 2/28/2025 | 2/28/2025 |
| 1/30/2025 | 1/30/2025 |
| 12/30/2024 | 12/30/2024 |
内容的提问来源于stack exchange,提问作者Rhenz Idol Ii San Pedro
相关产品推荐
相关产品推荐

