2017-07-29 131 views
2

LibreOffice Calc电子表格提供了一个函数ISOWEEKNUM来返回指定日期的标准ISO 8601 week number给定一个ISO 8601的周数,在LibreOffice Calc电子表格中获得该周第一天的日期

我想要相反。

➠给出一个标准的周数,给我一周(周一日)的第一天的日期。

传递整数是可以接受的。如果能够传递标准格式的字符串也很好。

像这样:

DATE_OF_ISOWEEKNUM(2017 , 42) ➝ date of Monday of week 42 in week-based year 2017 
DATE_OF_ISOWEEKNUM("2017-W42") ➝ date of Monday of week 42 in week-based year 2017 

理想情况下,我将能够通过一些1-7周一至周日到指定我想约会的一周中某一天的。事情是这样的:

DATE_OF_ISOWEEKNUM(2017 , 42 , 1) ➝ date of Monday of week 42 in week-based year 2017 
DATE_OF_ISOWEEKNUM("2017-W42-1") ➝ date of Monday of week 42 in week-based year 2017 

DATE_OF_ISOWEEKNUM(2017 , 42 , 7) ➝ as above, but Sunday 
DATE_OF_ISOWEEKNUM("2017-W42-7") ➝ as above, but Sunday 
+0

用户'keme'给出了一套公式来做到这一点在https://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=14602。你在寻找一个单一功能吗?如果是这样,'DATE_OF_ISOWEEKNUM'可以用宏来实现。 –

回答

1

例子:

enter image description here

公式:

=DATE(B$1,1,$A4*7)+(2-WEEKDAY(DATE(B$1,1,$A4*7)))-7*(ISOWEEKNUM(DATE(B$1,1,1))=1) 
  • (7 weeknumber *)在今年计算一天的日期。
  • 正确的一天是星期一的工作日。前
  • 正确的7天,如果一年的第一天是在 第一ISO weeknumber。
相关问题