大数跨境

IF(MONTH(DATE(A2,2,29))=2,"y","")和IF(COUNT(A2&"-2-29"),"y","")如何判断闰年

IF(MONTH(DATE(A2,2,29))=2,"y","")和IF(COUNT(A2&"-2-29"),"y","")如何判断闰年 浅谈出口账务和excel函数
2026-09-27
9
这两个公式都是 Excel 中判断闰年的技巧,原理如下:

公式1:IF(MONTH(DATE(A2,2,29))=2,"y","")

原理:利用 Excel 日期的自动进位

· DATE(A2,2,29) 试图构造 A2 年 2 月 29 日
· 如果 A2 是闰年:2月29日合法存在 → MONTH(...)=2 → 返回 "y"
· 如果 A2 是平年:2月29日不存在,Excel 自动进位到 3月1日 → MONTH(...)=3 → 返回 ""

举例:

· A2=2024(闰年)→ DATE(2024,2,29)=2024/2/29 → MONTH=2 → "y"
· A2=2023(平年)→ DATE(2023,2,29)=2023/3/1 → MONTH=3 → ""

---

公式2:IF(COUNT(A2&"-2-29"),"y","")

原理:利用 COUNT 对文本日期的识别

· A2&"-2-29" 把年份和 "-2-29" 拼成字符串,如 "2024-2-29"
· COUNT(...) 会尝试把这个文本当作日期/数字来计数:
  · 如果这个日期真实存在(闰年)→ COUNT 返回 1(真)→ "y"
  · 如果这个日期不存在(平年)→ COUNT 返回 0(假)→ ""

举例:

· A2=2024 → "2024-2-29" 是有效日期 → COUNT=1 → "y"
· A2=2023 → "2023-2-29" 不是有效日期 → COUNT=0 → ""

---

两种方法对比

对比项 MONTH(DATE(...)) COUNT(A2&"-2-29")
原理 日期进位 文本转日期识别
可靠性 高 依赖区域日期格式
推荐度 ⭐推荐 一般

⚠️ 注意:公式2依赖系统区域设置,在某些日期格式下(如月/日/年)可能误判,所以公式1更稳妥。

更通用的闰年判断公式

如果想直接判断,还可以用:

```excel
=IF(OR(AND(MOD(A2,4)=0,MOD(A2,100)<>0),MOD(A2,400)=0),"闰年","平年")
```

这符合闰年规则:能被4整除但不能被100整除,或能被400整除。

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