发布网友 发布时间:2022-04-19 14:08
共3个回答
热心网友 时间:2022-07-15 06:38
用下面的公式可以达到你的目的,公式为两个部分,前一部分用text函数把日期显示为英文的月份名称,第2部分计算日期当月第几周。如图,A列为日期,B列为周次:
B2=TEXT(A2,"mmm")&" Wk "&WEEKNUM(A2,2)-WEEKNUM(EOMONTH(A2,-1),2)+1
追答考虑如果当月的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。
热心网友 时间:2022-07-15 07:56
可以用查找替换将小数点换成冒号,将pm换成空格加pm,如果有am也要转成空格加am。也就是转变成excel的日期时间格式。热心网友 时间:2022-07-15 09:30
参考图示: