搜索

Excel如何将日期转换为周别

发布网友 发布时间: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的日期时间格式。
    或者用下面的公式
    =substitute(substitute(substitute(a1,"pm","
    pm"),".",":"),"am","
    am")+0
    计算出的结果需要设置格式为日期时间格式。
    转换后,直接b1-a1可以得到两个值的时间差,将结果设置为日期时间格式即可。

    热心网友 时间:2022-07-15 09:30

    参考图示:

    公式:
    =TEXT(A1,"mmm")&" wk "&ROUNDUP(DAY(A1)/7,0)
    这个所谓的第几周每个人说法不一,自己调整了。
    声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
    E-MAIL:11247931@qq.com
    Top