The two formulas proposed above seem to provide exactly the same results (at least from 2017 to 2053).
However, these Excel ISO date manipulations have some particularities to watch for.
For testing, I filled Col A of a worksheet with the real dates from 2017-01-01 (Sunday of ISO week 1, 2016) to 2053-12-29 (Monday of ISO week 1, 2054).
Then,col B: =ISOWEEKNUM(columnA)
col C: =TEXT(columnA,"yyyy")
Col D: =TEXT(columnA,"d")
Col E: =TEXT(columnA,"ddd")
Col F: =DATE(columnC,1,1)+(columnB - IF(WEEKDAY(DATE(columnC,1,1),2)<5,1,0))*7 - WEEKDAY(DATE(columnC,1,1),2)+1
Col G: =DATE(columnC,1,columnB*7-2) - WEEKDAY(DATE(columnC,1,3))
The issue is : the year column, calculated using the text function, is NOT ALWAYS equal to the "ISO week-numbering year" (i.e. the "year" portion of an ISO week reference).
In other words,2018-12-31 is year 2018 but ISO week #1 (2019)
2019-12-30 is year 2019 but ISO week #1 (2020)
2024-12-30 is year 2024 but ISO week #1 (2025)
etc.
See below:
Clipboard01.png
I could not find a ISOYEARNUM function in Excel, which would give the quasi-year number linked with the ISOYEARNUM.
Seems at this point the only way is to use the formula below, from this post :
=YEAR(ColumnA-WEEKDAY(ColumnA,3)+3)
which is based on the particular properties of Thursdays under ISO-8601.
Bookmarks