有的时候想要计算全年的周数,比如下面这个表,不管是用=ISOWEEKNUM(B2),还是=WEEKNUM(B2,2),都会面临年初年尾都没达到预期的问题,虽然可以通过计算C2来临时解决问题,但是换一年呢
周 | 一 | 二 | 三 | 四 | 五 | 六 | 日 |
1 | 2018-12-31 | 2019-1-1 | 2019-1-2 | 2019-1-3 | 2019-1-4 | 2019-1-5 | 2019-1-6 |
2 | 2019-1-7 | 2019-1-8 | 2019-1-9 | 2019-1-10 | 2019-1-11 | 2019-1-12 | 2019-1-13 |
…… | …… | …… | …… | …… | …… | …… | …… |
52 | 2019-12-23 | 2019-12-24 | 2019-12-25 | 2019-12-26 | 2019-12-27 | 2019-12-28 | 2019-12-29 |
53 | 2019-12-30 | 2019-12-31 | 2020-1-1 | 2020-1-2 | 2020-1-3 | 2020-1-4 | 2020-1-5 |
但是变成 WEEKNUM(MEDIAN(DATE(2019,1,1),DATE(2019,12,31),B2),2) 的话就完美达到预期
这其中重点是 MEDIAN,这个函数奇数个参数的时候是返回中间值,不是平均值,所以加一个年初1月1日,年尾12月31日,确保出现的任何一个日期都是在年内的,计算出的周数当然也是我们想要的了
说两句