2017-07-29 12 views
2

LibreOffice Calcスプレッドシートには、指定した日付の標準ISO 8601 week numberを返す関数ISOWEEKNUMがあります。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 *)年の日の日付を計算します。
  • 月曜日を平日に修正します。
  • 年の最初の日が の最初のISO週番号である場合、7日前に訂正してください。
関連する問題