早两天有一个朋友提了一个问题,想要计算当月日期对应当月第几周。今天才有得时间,捣鼓了一下。思路与大家分享:
1、weeknum(日期,1),1可省略,这是把周日作为每周第一天,返回当前日期在本年属于第几周。
2、weeknum(日期,2),参数为2,这是把周一作为每周第一天,返回当前日期在本年属于第几周。这是咱中国人的习惯。
3、要返回当月日期是当月第几周,我们可以这样分析:
(1)weeknum(2016-6-1,2),返回的是第21周
(2)weeknum(2016-5-30,2),返回的也是第21周。
(3)一定存在正好是月初为周一的情况。所以要做一个判断,月初和上月末是同一周的跟月初和上月末不是同一周的。
(4)设置公式1=if(weeknum(2016-6-1,2)-weekum(2016-5-30,2)=0,1,0),这里得到的结果是如果是同一周,加1,不同周不用加。
(5)完成最后公式2=weeknum(2016-6-1,2)-weeknum(2016-5-30,2)+公式1
(6)将公式中的日期用excel表中的单元格取代,假设2016-6-1在单元格B3,终极公式==IF(WEEKNUM($B$3-1,2)-WEEKNUM($B$3,2)=0,1,0)+WEEKNUM(B3,2)-WEEKNUM($B$3-1,2) |
|