Office中国论坛/Access中国论坛

标题: 如何根据周次计算此周的起始日期? [打印本页]

作者: qing2000    时间: 2005-7-20 23:58
标题: 如何根据周次计算此周的起始日期?
如何根据周次计算一周的起始日期?假设周一为第一天。

请各位高手相助。
作者: 红池坝    时间: 2005-7-22 06:09
试试这个公式吧:=CHOOSE(WEEKDAY((DATE(2005,1,1)+E4*7),2),(DATE(2005,1,1)+E4*7),(DATE(2005,1,1)+E4*7)-1,(DATE(2005,1,1)+E4*7)-2,(DATE(2005,1,1)+E4*7)-3,(DATE(2005,1,1)+E4*7)-4,(DATE(2005,1,1)+E4*7)-5,(DATE(2005,1,1)+E4*7)-6)公式是2005年中的周次的。其中E4单元格保存的是周次(1-52):比如E4中如果是30,就表明返回2005年第30周星期一的的日期:2005-7-25(当然你得把单元格的格式设置为日期型)
作者: juyouhh    时间: 2005-7-22 16:56
红版主想得太复杂了。=(DATE(2005,1,1)-WEEKDAY(DATE(2005,1,1),2)+1)+E4*7
作者: 淼漫    时间: 2005-7-23 00:44
简单有效
作者: qing2000    时间: 2005-7-24 18:33
标题: 赞成
我很赞成你的方法
作者: bosco_yip    时间: 2005-7-25 15:25
<COLGROUP><COL style="WIDTH: 176pt; mso-width-source: userset; mso-width-alt: 8594" width=235>这个公式, 比较简短些 :=FLOOR(E4*7+DATE(2005,1,1)+1,7)-5
作者: 红池坝    时间: 2005-7-27 18:32
juyouhh兄在3楼的公式不错,呵呵,看来还是思路出了问题啊,惭愧惭愧。我这里把顺序换了一下,这样可以省略两个括号:=DATE(2005,1,1)+E4*7-WEEKDAY(DATE(2005,1,1),2)+16楼的公式有些不妥,虽然看起来很短,但有一些问题,一是你那个后面“-5是怎么来的,显然手动计算“-WEEKDAY(DATE(2005,1,1),2)+1”得出的结果,这种通过手动计算结果来缩短公式肯定是不好的。二是这里根本就不需要Floor()这个向下舍入的公式。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3