【填坑贴】 关于TODAY()的公式

懒得批爆
懒得批爆

创作者俱乐部成员

👋

自己挖的坑,记得要回填。

前不久,某同学发了个帖子https://bbs.wps.cn/topic/20000

由于帖子编号是两万这个整数,心生羡慕,顺手就发了个简单的难题。


过了那么久,还是自己回填吧。

描述

公式

今天是

=TODAY()

后是

=TODAY()+n周*7

经历的工作日

=SUMPRODUCT((WEEKDAY(ROW(INDIRECT("A1:A"&(7*n))),2)>=2)*(WEEKDAY(ROW(INDIRECT("A1:A"&(7*n))),2)<=6))

公式显示不完整的请往⟹⟹拖滚动条

还是老习惯,公式解释下:

=TODAY表示今天

=TODAY()+n*7,n是n周的意思,n≥1;

=SUMPRODUCT((WEEKDAY(ROW(INDIRECT("A1:A"&(7*B3))),2)>=2)*(WEEKDAY(ROW(INDIRECT("A1:A"&(7*n))),2)<=6)),这个公式有点长,但看了以下的解释后,就一点也不麻烦了,甚至还是那么长。

  • ROW(INDIRECT("A1:A"&(7*n))): 创建一个从 A1 到 A(7n) 的单元格范围,其中 7n 代表 n 周的天数;

  • WEEKDAY(ROW(INDIRECT("A1:A"&(7*n))),2):获取每个单元格日期的星期数,其中 2 表示星期一到星期六。

  • (WEEKDAY(ROW(INDIRECT("A1:A"&(7*n))),2)>=2)*(WEEKDAY(ROW(INDIRECT("A1:A"&(7*n))),2)<=6):检查每个单元格日期是否为周一至周五。如果是,则返回 1;否则,返回 0。

  • SUMPRODUCT: 将所有结果相加,得到从今天开始 n 周后经历的周一至周五数量。



以上填坑完毕,下面补充几个关于日期的计算公式



描述

公式

本周一

=TODAY()-WEEKDAY(TODAY(),2)+1

上周一

=TODAY()-WEEKDAY(TODAY(),2)-6

本周日

=TODAY()-WEEKDAY(TODAY(),2)+7

上周日

=TODAY()-WEEKDAY(TODAY(),2)

本月初

=EOMONTH(TODAY(),-1)+1

本月末

=EOMONTH(TODAY(),0)

上上月

=EOMONTH(TODAY(),-2)

上月

=EOMONTH(TODAY(),-1)

本月

=EOMONTH(TODAY(),0)

下月

=EOMONTH(TODAY(),1)

下下月

=EOMONTH(TODAY(),2)

本季度初

=DATE(YEAR(TODAY()),INT((MONTH(TODAY())-1)/3)*3+1,1)

本季度末(公式1)

=EOMONTH(DATE(YEAR(TODAY()),INT((MONTH(TODAY())-1)/3)*3+1,1),2)

本季度末(公式2)

=DATE(YEAR(TODAY()),CEILING(MONTH(TODAY()),3)+1,0)

补充的公式都是基于基本的函数,并没有加入过多的计算,也没有引用其他单元格的发生,可以在其他公式中随意的插入引用。

🔔

需要说明下本季度初的公式在EXCEL中的写法是=DATE(YEAR(TODAY()), FLOOR.MATH(MONTH(TODAY())-1, 3) + 1, 1),但是WPS不支持FLOOR.MATH函数,故改为了=DATE(YEAR(TODAY()),INT((MONTH(TODAY())-1)/3)*3+1,1)



以上涉及到公式可以在金山文档:https://kdocs.cn/l/chdPjwe15wJ7中找到,欢迎大佬指正其中的错误或优化其中的公式。

四川省
浏览 836
2
10
分享
10 +1
5
2 +1
全部评论 5
 
尤一
弱弱问一下大佬: 看公式,这里的n周后一共有多少个工作日,应该只刨除了周末,没有刨除法定节假日吧? 那n周后,应该必定是5n个工作日吧?直接写5n和上面公式结果上会有差异吗? 如果想要刨除法定节假日,有没有什么比较好的办法推荐呢?
· 上海
回复
懒得批爆
懒得批爆

创作者俱乐部成员

上面提到的n周主要是指52周以上(一年只有52周),52周后的工作日只能进行预估,比较后面几年的法定节假日和法定调休日并不能通过计算、推算得出。 如果有其他渠道获得52周以后的法定节假日、法定调休日,推荐看下这篇帖子https://bbs.wps.cn/topic/20990 贴中一节是需要法定节假日的数据,然后通过函数公式将法定节假日、周末排除,并加上法定调休占用的周末等,就可以得出最终的工作日计数或明细。
· 四川省
回复
 
方盛
方盛

创作者俱乐部成员

助力成功
· 湖北省
回复
 
HC.旋
跟着大佬学
· 江苏省
1
回复