EXCEL中日期函数的应用——判断某天在该月的第几周

公司以当月21日至下月20日作为一个结算月,也就是说以每个月21号作为一个月的第一天,在这样的情况下,excel中如何判断后续日期中某天在该月的第几周

方法一:
=IF(AND(WEEKDAY(DATE(YEAR(A1),1,1),2) > 1,FLOOR(DATEDIF(DATE(YEAR(A1),1,1),A1+WEEKDAY(DATE(YEAR(A1),1,1)-8,2),"D")/7,1)=0), FLOOR(DATEDIF(DATE(YEAR(A1)-1,1,1),DATE(YEAR(A1),1,1)+WEEKDAY(DATE(YEAR(A1)-1,1,1)-8,2),"D")/7,1), FLOOR(DATEDIF(DATE(YEAR(A1),1,1),A1+WEEKDAY(DATE(YEAR(A1),1,1)-8,2),"D")/7,1))
其中A1是要计算的单元格,另外这个是按照中国的习惯,也就是说一周是从星期一开始到星期日结束的,如果要按照美国的习惯,只要将WEEKDAY的第2个参数改成1就行了。

方法二:
=INT(((A2-VALUE(YEAR(A2)&-1&-1))+WEEKDAY(VALUE(YEAR(A2)&-1&-1))-1)/7)

方法三:函数WEEKNUM(serial_num,return_type)返回一个日期在该年中第几周的数字。其中参数return_type为1表示从星期日开始至星期六算一周,为2表示从星期一开始至星期日算一周。 如B1单元格包含日期值2006-1-2,下面的公式分别返回数字1和2,代表第一周和第二周。2006-1-1是星期日,若return_type为1则从2006-1-1至2006-1-7日为第一周,若return_type为2则2006-1-1为第一周,从2006-1-2至2006-1-8为第2周。=WEEKNUM(B1,1)=WEEKNUM(B1,2) 注意: 先加载"分析工具库"才能使用WEEKNUM函数。加载的方法是单击菜单"工具"-"加载宏",在"加载宏"对话框中勾选"分析工具库"复选框,最后单击"确定"按钮。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-20
=IF(DAY(A29)>20,IF((DAY(A29)-20)<8,"第一周","第二周"),LOOKUP(A29-DATE(YEAR(A29),MONTH(A29)-1,21),{0,7,14,21,28},{"第一周","第二周","第三周","第四周","第五周"}))

当21日到20之间的天数超过28天,就有第五周本回答被网友采纳
第2个回答  推荐于2016-03-01
假定后续日期在A1单元格,B1公式:
=INT(1+IF(DAY(A1)>20,DAY(A1)-21,(A1-DATE(YEAR(A1),MONTH(A1)-1,21)))/7)本回答被提问者采纳
第3个回答  2012-11-20
=int((day(日期格式)-14)/7)
相似回答