一年有52周,平均每季度13周。第一季度因为有二月份,所以少几天,三季度因为七八月份都是大月多一天。其他都比较平均。每月约435周。其中二月是整四周,简单计算一下就能说个大概。但是每年元旦的星期数不同,所以第几周的起点计算不一样,想说精确的,还需要记忆元旦那天星期几。运算不单靠逻辑运算,记忆也非常重要的。函数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函数。加载的方法是单击菜单"工具"-"加载宏",在"加载宏"对话框中勾选"分析工具库"复选框,最后单击"确定"按钮。=TEXT(EDATE(NOW(),1-MONTH(NOW()))-WEEKDAY(EDATE(NOW(),1-MONTH(NOW())))+(第几周-3)7+星期几,"YYYY-MM-DD")
其中中文换成你的数字,星期几(星期日到星期六,分别用数字1~7代替)
或者用这个公式
=TEXT(NOW()+(第几周-WEEKNUM(NOW()))7+星期几-WEEKDAY(NOW()),"YYYY-MM-DD")
也可以
例如:今年第8周,星期四(用数字5代替)
=TEXT(NOW()+(8-WEEKNUM(NOW()))7+5-WEEKDAY(NOW()),"YYYY-MM-DD")
结果是
2015-02-19//| 取得当前日期所在周是一年中的第几周
DateprototypeWeekNumOfYear = function(NewDate)
{
var myDate = NewDate;
var ary = myDatetoArray();
var year = ary[0];
var month = ary[1]+1;
var day = ary[2];
documentwrite('< script language=VBScript\> \n');
documentwrite('myDate = DateValue(''+month+'-'+day+'-'+year+'') \n');
documentwrite('result = DatePart('ww', myDate) \n');
documentwrite(' \n');
return result;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)