excel日期转换为周数,Excel如何将日期转换为周别

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-17 00:04   82   0

用下面的公式可以达到你的目的,公式为两个部分,前一部分用text函数把日期显示为英文的月份名称,第2部分计算日期当月第几周。如图,A列为日期,B列为周次:

B2=TEXT(A2,"mmm")&" Wk "&WEEKNUM(A2,2)-WEEKNUM(EOMONTH(A2,-1),2)+1

3d0eae3f47f9e22513edecd4923b6194.png

追答

考虑如果当月的1日正好是星期一,上面的公式的当月周次会大1。公式需要修改如下:

=TEXT(A2,"mmm")&" Wk "&WEEKNUM(A2,2)-WEEKNUM(EOMONTH(A2,-1),2)+(WEEKDAY(EOMONTH(A2,-1)+1,2)>1)

公式说明:WEEKNUM(A2,2),以星期一为一周开始的年周次

EOMONTH(A2,-1),当前月份上一个月的最后一天

WEEKNUM(EOMONTH(A2,-1),2),上个月最后的年周次

WEEKNUM(A2,2)-WEEKNUM(EOMONTH(A2,-1),2),当前日期周次减去上月最后一天的周次。

如果当前第1日与上月最后一天在同一周(当月1日不是周一),相减得0,需要加1;如果当月1日与上月最后一天不是同一周(1日是星期一),相减得1,不需要加1。公式最后的括号就是完成这个是否加1的。

EOMONTH(A2,-1)+1,上个月最后一天的日期加上1天,也就是当月1日

再用WEEKDAY求得当月1日是星期几,如果大于1,(WEEKDAY(EOMONTH(A2,-1)+1,2)>1)为true,公式中+将其转为1,如果等于1,即1是正好是星期一,结果为false,+将其转为 0。

6b1c002f6431c88efbe44e46a5e97a9a.png

efff3b3bfc10a57f0038325866eb859c.png

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP