Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从周数和年开始的excel日期_Excel_Date - Fatal编程技术网

从周数和年开始的excel日期

从周数和年开始的excel日期,excel,date,Excel,Date,我在Excel中有下表,其中包含年数和周数: Year Week ----- ------ 2015 33 2014 41 2016 40 如何获得第三列,其中每行都有相应星期五的日期?因此,2015年第33周将返回:2015年8月14日,星期五 我曾尝试使用date函数weeknum函数,但无法得到任何一致的结果 如果您使用的是ISO周数,则此公式将给出您想

我在Excel中有下表,其中包含年数和周数:

Year               Week
-----             ------
2015               33
2014               41
2016               40
如何获得第三列,其中每行都有相应星期五的日期?因此,2015年第33周将返回:2015年8月14日,星期五


我曾尝试使用date函数weeknum函数,但无法得到任何一致的结果

如果您使用的是
ISO
周数,则此公式将给出您想要的日期

=日期(A2,1,B2*7+2)-工作日(日期(A2,1,3))

其中A2中的年份和B2中的周数

格式为所需的日期格式


对于
ISO
周数,第1周始终从12月29日当天或之后的第一个星期一开始

如果您使用
ISO
周数,则此公式将给出您想要的日期

=日期(A2,1,B2*7+2)-工作日(日期(A2,1,3))

其中A2中的年份和B2中的周数

格式为所需的日期格式


对于
ISO
周数,第1周始终从12月29日当天或之后的第一个星期一开始

假设该周从星期日开始,且无ISO周编号,则任何一年第1周的星期日的日期如下所示:

=CHOOSE(WEEKDAY(DATE(A2,1,1)),DATE(A2,1,1),DATE(A2,1,1)-1,DATE(A2,1,1)-2,DATE(A2,1,1)-3,DATE(A2,1,1)-4,DATE(A2,1,1)-5,DATE(A2,1,1)-6)
然后添加5移动到星期五。然后添加:

(B2-1)*7
要提前到适当的一周:

=CHOOSE(WEEKDAY(DATE(A2,1,1)),DATE(A2,1,1),DATE(A2,1,1)-1,DATE(A2,1,1)-2,DATE(A2,1,1)-3,DATE(A2,1,1)-4,DATE(A2,1,1)-5,DATE(A2,1,1)-6)+5+(B2-1)*7

假设一周从星期日开始,且非ISO周编号,则任何一年第1周的星期日的日期由以下公式给出:

=CHOOSE(WEEKDAY(DATE(A2,1,1)),DATE(A2,1,1),DATE(A2,1,1)-1,DATE(A2,1,1)-2,DATE(A2,1,1)-3,DATE(A2,1,1)-4,DATE(A2,1,1)-5,DATE(A2,1,1)-6)
然后添加5移动到星期五。然后添加:

(B2-1)*7
要提前到适当的一周:

=CHOOSE(WEEKDAY(DATE(A2,1,1)),DATE(A2,1,1),DATE(A2,1,1)-1,DATE(A2,1,1)-2,DATE(A2,1,1)-3,DATE(A2,1,1)-4,DATE(A2,1,1)-5,DATE(A2,1,1)-6)+5+(B2-1)*7

我发布了一个ISO周数的答案,适用于您的示例-如果您没有使用ISO周数,请告知如何定义周数,第一周什么时候开始?我发布了一个ISO周数的答案,它适用于您的示例-如果您没有使用ISO周数,请告知您的周数是如何定义的,第一周什么时候开始?我的ISO周数建议在12月29日或之后的第一个星期一,即第1周,这实际上是在12月26日或之后的第一个星期日,因此可以使用我使用的相同方法,即
=日期(A2,1,B2*7)-工作日(日期(A2,1,1))
我的ISO周数建议将12月29日或之后的第一个星期一作为第1周,这实际上是在12月26日或之后的第一个星期日,因此,可以使用我使用的相同方法来完成,即
=日期(A2,1,B2*7)-工作日(日期(A2,1,1))