一、背景:
每周发周报的标题格式为:本周一到本周五的日期内容,如下:
但是每隔一周发送的时候需要改一下周报标题里面的日期,比较麻烦
目前的需求是通过函数自动化生成,根据当前的日期去定位出本周一的日期以及本周五的日期,再通过&字符组合在一起。
二、所需函数:today()
功能:查看今天的日期信息
用于获取当前发周报时期的当天日期信息,参考代码如下:
=today()
三、所需函数:weekday(serial_number,return_type)
功能:引用日期对应一周中的第几天
与today()函数结合可以计算出当前的日期是是本周的第几天,从周日开始计算,参考代码如下:
=WEEKDAY(TODAY(),1)
四、所需函数:Text(value,format_text)
功能:将数值格式转化为文本,如日期格式转化为年月日的格式,参考代码如下:
=TEXT(TODAY()-,"YYYY年MM月D日")
五、整合逻辑并组合出最终结果
1、伪代码:周日的日期即 本周第一天的日期,作为中间计算temp值,便于理解
周一 = 周日 + 1
周五 = 周日 + 5
weekday差 = today() - 周日 +1
2、公式推算:根据上一步的两个工作先计算周日的公式,再分别计算出周一与周日的日期值。
周日 = today()+1 - weekday差
周一 = today()+1 - weekday差 +1 = today() - weekday差 + 2
周五 = today()+1 - weekday差 +5 = today() - weekday差 + 6
3、整合最终结果:将周一与周五的日期值格式化,并且与其他周报的固定格式连接起来
最终格式如下:
="xx部门测试周报:("&TEXT(TODAY()-WEEKDAY(TODAY(),1)+2,"YYYY年MM月D日")&"至"&TEXT(TODAY()-WEEKDAY(TODAY(),1)+6,"YYYY年MM月D日")&")"
六、参考文档(之前发过的一篇博客园,有关函数的详细介绍)
https://www.cnblogs.com/mrwhite2020/p/17177887.html
标签:excel,标题,TODAY,日期,weekday,格式,周日,today,工作日 From: https://www.cnblogs.com/mrwhite2020/p/17691608.html