Excel项目年份判定:嵌套DATEDIF的IF公式出错,求正确方案
修正Excel财年项目状态判定公式(解决年份偏差问题)
问题根源
原公式使用DATEDIF($B5,$I$1,"Y")计算的是自然日历年的完整年份差,但你的判定逻辑基于财年(10/01/24-09/01/25),自然年的计算规则和财年不匹配,导致年份判定出现偏差(比如Project F在Oct-24本该显示Year 3却显示Year 2)。
修正后的公式
简洁嵌套版(兼容你的Excel版本)
=IF(YEAR($I$1)+IF(MONTH($I$1)>=10,1,0)-YEAR($B5)-IF(MONTH($B5)>=10,1,0)=3,"Year 3",IF(YEAR($I$1)+IF(MONTH($I$1)>=10,1,0)-YEAR($B5)-IF(MONTH($B5)>=10,1,0)=2,"Year 2",IF(YEAR($I$1)+IF(MONTH($I$1)>=10,1,0)-YEAR($B5)-IF(MONTH($B5)>=10,1,0)=1,"Year 1","ENDED")))
可读性更强的LET函数版(推荐)
=LET( 项目启动日, $B5, 财年起始日, DATE(2024,10,1), 项目所属财年, YEAR(项目启动日) + IF(MONTH(项目启动日)>=10, 1, 0), 当前财年, YEAR(财年起始日) + IF(MONTH(财年起始日)>=10, 1, 0), 财年差值, 当前财年 - 项目所属财年, IF(财年差值=3,"Year 3",IF(财年差值=2,"Year 2",IF(财年差值=1,"Year 1","ENDED"))) )
公式逻辑说明
- 财年归属判定:10月及以后启动的项目,归属到下一个财年(例如2024年10月启动的项目,属于2025财年)
- 财年差值计算:用当前财年减去项目所属财年,得到准确的财年间隔数
- 状态映射:根据财年差值返回对应的
Year 1/Year 2/Year 3,差值不在1-3范围内则返回ENDED
内容的提问来源于stack exchange,提问作者Purrsia
相关产品推荐
相关产品推荐

