多语言展示
当前在线:927今日阅读:39今日分享:10

提供几个EXCEL中取日期在第几周的函数

在EXCEL中如何写函数取日期在第几周,但稍微有些不同的是一年的最初几天如果接着上一年要算到上一年中去,比如说2010年1月2日,结果应该是52,而不是1。粗略一想,这个函数其实蛮复杂的,写了很多次,都在某些情况下得不到正确的结果,最后这样成功了:方法一:=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函数。加载的方法是单击菜单'工具'-'加载宏',在'加载宏'对话框中勾选'分析工具库'复选框,最后单击'确定'按钮。。
推荐信息