夜雨聆风学习资料网

ARTICLE · 1234009

Excel冷知识:MONTH(MONTH(A1)*10)为什么能算季度?99%的人不知道时间原点的秘密

Excel冷知识:MONTH(MONTH(A1)*10)为什么能算季度?99%的人不知道时间原点的秘密
众所周知,如果要计算季度,无非就这些方法:
初学者:IF判断法
=IF(MONTH(日期)<=3,1,  IF(MONTH(日期)<=6,2,    IF(MONTH(日期)<=9,3, 4)))

评价:

  • ✅ 能解决问题,逻辑清晰,别人一看就懂
  • ❌ 写法冗长,嵌套多,月份一多就崩溃
  • ❌ 重复调用 MONTH(A1) 三次,效率低

这是最典型的"会写 IF 的人",属于刚过入门门槛,正在往中级爬的阶段。

很多职场人一辈子停在这一档 😂


中级:

=ROUNDUP(MONTH(日期)/3,0)=CEILING(MONTH(日期)/3,1)

评价:

  • ✅ 数学思维,把问题抽象成"月份÷3向上取整"
  • ✅ 一行搞定,干净利落
  • ✅ 逻辑优雅,扩展性强(改季度划分只需改除数)

不靠堆 IF,而是找到底层规律。

看到这个公式,说明你已经从"让 Excel 干活"进化到"让 Excel 优雅地干活"了。


高级:

=MATCH(MONTH(日期),{1,4,7,10})

评价:

  • ✅ 表格思维,把"季度"抽象为"区间边界查找"
  • ✅ 扩展性强,假设Q1从2月开始,改成{2,5,8,11}即可

专家:
=MONTH(MONTH(日期)*10)
等等,MONTH函数返回的是1~12,乘以10变成10~120,再套一层MONTH……这怎么就变成季度了?!
看不懂吧,别慌,一张图带你搞清这个公式的逻辑:

理解:

  1. 月份乘以10后,得到结果:10~120
  2. 把 10~120 当成日期序列号,对应的是1900年的各个日期(如上图)
  3. MONTH("1900/1/10")自然得到的是 1
  4. 注意:本公式可读性、维护性不强

这个公式的巧妙之处在于“借力”:

利用Excel将数字解释为日期序列的特性,用一次乘法实现了“月份→日期→再取月份”的隐式映射。这种思维方式在Excel中非常珍贵——用最少的字符,撬动系统的底层逻辑。

一、什么是日期序列号?Excel的"时间原点"

你一定有过这种困惑:为什么单元格里写着2026-10-23,但编辑栏里显示的是46318 ?或者反过来,输入46318 ,Excel自动变成了日期?

答案:Excel把日期存成了"数字"。

具体来说:

1900年1月1日 = 1

1900年1月2日 = 2

……以此类推,每过一天,数字+1

因此 10 对应的就是 1900/1/10

这个"从1900年1月1日开始累计的天数",就是日期序列号(也叫日期序列值)。1900/1/1 也就是EXCEL中的“时间原点”

日期

序列号

说明

1900/1/1

1

时间原点

1900/1/10

10

第10天

1900/3/1

61

前两个月59天+1

2026/10/23

46318

从原点累计了 46318 天

这就是为什么时间可以相加减、可以汇总、可以求平均值——全是数字运算。

觉得今天的公式有意思?转发到部门群,考考你的同事能不能看懂!

#EXCEL技巧#工作效率

相关学习资料