如何将星期天设置为excel对周计算的第一天。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将星期天设置为excel对周计算的第一天。相关的知识,希望对你有一定的参考价值。

我想将表格“A1”中的日期在“B2”中显示为第几周,所以我在B2中加入函数=YEAR(A1)&"年第"&INT((A1-DATE(YEAR(A1)-1,12,31))/7)+1&"周" 但这个命令他每次都把星期六设置为一周的第一天,我想将一周的第一天设置从星期日开始计算。如果按那个函数命令的话,2012年12月15它会显示成2012年第51周,但实际按照国际以星期天为一周的第一天计算的话2012年12月15应该是2012年第50周的最后一天才对。请问高手是要修改函数命令还是要设置下excel对周的运算方式

那就减去1天好了!
=YEAR(A1)&"年第"&INT((A1-DATE(YEAR(A1)-1,12,31)-1)/7)+1&"周"
2007版本以上的话简化:
=year(A1))&"年第"&WEEKNUM(A1)&"周"追问

=YEAR(A1)&"年第"&INT((A1-DATE(YEAR(A1)-1,12,31)-1)/7)+1&"周"
这样填的话周数是正确的,但2013,2014,2015更往后的话那周数又乱掉了。
=year(A1))&"年第"&WEEKNUM(A1)&"周",直接写这个函数显示成“#NAME?”可能我的版本不是2007以上吧。

追答

试试这个函数!
=YEAR(A1)&"年第"&INT((A1-DATE(YEAR(A1),1,1)+MOD(WEEKDAY(DATE(YEAR(A1),1,1),2),7))/7)+1&"周"

参考技术A 使用公式:
=YEAR(A1)&"年第"&WEEKNUM(A1)&"周"追问

也是显示“#NAME?“,不知道是不是没有开启那个什么数据分析,但我这个office版本好像开不了。

追答

2003需要,加载“分析工具库”加载宏,才能用这个函数,也可以用以下公式:
=YEAR(A1)&"年第"&-INT(-(A1-FLOOR((YEAR(A1)&-1&-1),7))/7)&"周"

参考技术B =WEEKNUM(A1)

有这个函数的。追问

直接用这个函数显示#NAME?,百度下说是要开启个什么数据分析,但我这个版本的excel按照其他人说的那个路径没有开启的地方

Excel中如何计算日期所在的这年的第几周,以周一作为一周的第一天

在Excel2003版本中用INT函数如何写编码

函数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函数。加载的方法是单击菜单"工具"-"加载宏",在"加载宏"对话框中勾选"分析工具库"复选框,最后单击"确定"按钮。
参考技术A ISO 8601定义: 周一是每周的第一天; 每年的第一周是指每年第一个星期四所在周. 按照这两个规则, 每年第一周其实就是包含1月4日的那一周.
用几个Excel公式组合计算(假定你的日期为D):
(1) 所在年份: Y = YEAR(D)
(2) 年度首周周一(注意WEEKDAY第二参数请选3): FMD = DATE(Y,1,4)-WEEKDAY(DATE(Y,1,4),3)
(3) 周数: WKN = INT((D-FMD)/7)+1
第三步里面暂时没有考虑1-52周之外的情况.
参考技术B =WEEKNUM(日期,2)
日期是以以周日为一周的第一天的,所以后面加上参数2,如果是从周2开始的话就是3追问

这个我知道,但是我现在做的这个文件内容要求每周第一天按周一算,所以这个没法用。

追答

那就加上参数=WEEKNUM(日期,2)

追问

是这样的,我前面已经有一列日期,在后面一列想显示它所在本年度的哪个周中,且以周一为第一天。比如我的日期在第一列,周显示数要显示在第二列

追答

假设日期是A列,在A2-A100之间,那么在B2单元格输入公式:=WEEKNUM(A2,2),然后复制B2单元格到B3-B100

追问

显示的#NAME

追答

看到你发的文件了,我这边是好的,估计你用的是OFFICE2003吧?这个版本默认是没有WEEKNUM函数的,可以点击“工具-加载宏”,勾选“分析工具库”,确定。如果在安装Excel时没有将工具集完整安装,将会提示需要安装文件,这个就需要OFFICE安装盘了,安装完重启Excel 然后你再试试那个公式。

参考技术C 可以考虑用自定义序列,然后使用序列填充的方法进行标注解释。
好像比函数来的容易一点。
在excel中点选项,然后点击“自定义序列”,把周一至周日定义为一个新的序列。
然后在表格中使用填充柄进行填充。
试试看。
参考技术D =WEEKNUM("2011-5-19",2)

以上是关于如何将星期天设置为excel对周计算的第一天。的主要内容,如果未能解决你的问题,请参考以下文章

使用存储过程将星期一计算为一周的第一天

将 DatePicker 中的第一天设置为星期一

Flutter - showDatePicker 将一周的第一天设置为星期一

MySQL中如何获得指定日期中月份的第一天是周几?

JS学校里怎么计算本周是该年的第几周

Angular 4 - 材料 2 - md datepicker 设置一周的第一天