第四题:
2011感恩节=DATE(2011,11,0)+24,验算WEEKDAY(DATE(2011,11,0)+24,2)=4
想法是既然是第四个星期4,那就不管三七二十一先加上三周再说,再加上3天就可以了。
感谢安然祥和指正,没有考星期四没有定位。
改正如下:SMALL(IF(WEEKDAY(DATE(2011,11,0)+ROW(1:31),2)=4,DATE(2011,11,0)+ROW(1:31)),4)
学习胡版的思路,但不能偷工减料。
才弄明白胡版所说最近的星期四的意思了。这也是和感恩节定义有关的。都是22-28日之间
那么公式:
MAX((WEEKDAY(DATE(year,11,0)+ROW(1:7),2)=4)*(DATE(year,11,0)+ROW(1:7)))+21 进一步
MAX((WEEKDAY(DATE(year,11,ROW(22:28)),2)=4)*(DATE(year,11,ROW(22:28))))
感谢胡版的指点!!!
第五题:
DATE(2011,10,1)-DATE(2011,5,16)-SUM(MMULT(N(WEEKDAY(DATE(2011,10,1)-ROW(INDIRECT("1:"&DATE(2011,10,1)-DATE(2011,5,16))),2)={6,1}),ROW(1:2)^0))
上边MMULT多余,简化下:
DATE(2011,10,1)-DATE(2011,5,16)-SUM(N(WEEKDAY(DATE(2011,10,1)-ROW(INDIRECT("1:"&DATE(2011,10,1)-DATE(2011,5,16))),2)={6,1}))
现在想想,这种周6,周1休息,要是不放在数组,还真是不知道如何下手。
[ 本帖最后由 angellbxsc 于 2011-5-17 19:43 编辑 ] |