Get Week Start and End Dates from ISOWEEKNUM in Google Sheets

Published on

Google Sheets makes it easy to calculate ISO week numbers with the ISOWEEKNUM function, but what if you need the actual dates instead of just the number? For example, given ISO week 12 of 2024, you may want to know that it starts on March 18 and ends on March 24. In this tutorial, I’ll show you how to return the week start (Monday) and end (Sunday) dates from a given ISO week number in Google Sheets with simple, reusable formulas.

Introduction

We can convert ISOWEEKNUM to date in Google Sheets using a similar approach to converting WEEKNUM to corresponding dates.

With the help of the WEEKDAY function, we can get a date (or a full date range) from a given week number.

I have already explained this for WEEKNUM here – Find the Date or Date Range from Week Number in Google Sheets.

Now let’s see the similar method to convert an ISOWEEKNUM to dates (week start and week end) in Google Sheets.

Before that, it’s important to understand the differences and similarities between WEEKNUM and ISOWEEKNUM.

For more details about both functions, you can also check my guide – The Complete Guide to All Date Functions.

WEEKNUM and ISOWEEKNUM: Differences and Similarities

Here are the key points to know before converting an ISO week number (ISOWEEKNUM) to dates in Google Sheets:

  • Both functions take a date and return the corresponding week number.
  • In WEEKNUM, you can specify a type argument (a number that defines which day the week starts on).
  • There are ten types: 1, 2, 11, 12, 13, 14, 15, 16, 17, 21. For example, type 1 (or leaving it blank) means the week runs from Sunday to Saturday.
  • Type 21 uses ISO8601 rules, where weeks run from Monday to Sunday.

The key difference:

  • In ISO8601, the first week of the year is the one containing the first Thursday.
  • This is exactly how ISOWEEKNUM works.

So, using WEEKNUM with type 21 is essentially the same as using ISOWEEKNUM.

Convert ISOWEEKNUM to Dates in Google Sheets

In our sample data, column B contains the customer names, column C holds the year, and column D lists the ISO week numbers representing the paying week. Using these details, we will calculate the pay start date (Monday) in column F and the pay end date (Sunday) in column G.

ISOWEEKNUM to Dates example in Google Sheets – week start and end dates

Find Pay Start and End Date from Paying Week Number (ISOWEEKNUM)

Let’s calculate the pay start (Monday) and pay end (Sunday) dates from ISOWEEKNUM in Google Sheets.

F2 formula (Start Date):

=LET(test, DATE(C2, 1, -2)-WEEKDAY(DATE(C2, 1, 3))+D2*7, IF(ISOWEEKNUM(test)=D2, test, ))

G2 formula (End Date):

=LET(test, DATE(C2, 1, -2)-WEEKDAY(DATE(C2, 1, 3))+D2*7+6, IF(ISOWEEKNUM(test)=D2, test, ))

Drag these formulas down.

Anatomy of the Formulas

This section breaks down the logic step by step so you understand how each part of the formula works before combining them into the final version.

Let’s start with a few key points:

  • In ISO week numbering, the first Monday of Week 1 is always between December 29 and January 4.
  • Example:
If Thursday isThen ISO Week 1 Starts (Monday)
Jan 1Dec 29
Jan 2Dec 30
Jan 3Dec 31
Jan 4Jan 1
Jan 5Jan 2
Jan 6Jan 3
Jan 7Jan 4

So, the first Monday immediately before January 5 will always be the start of ISO Week 1.

Finding the Monday of Any Date

To get the Monday of the week containing a given date:

=date - WEEKDAY(date) + 2

To get the Monday strictly before the given date:

=date - WEEKDAY(date - 2)

Here, we subtract 2 inside the WEEKDAY function. If we used date - 1, the formula would return Sunday (the day before Monday). Since we specifically want Monday, we go one step further and use date - 2.

As explained in the earlier table, ISO Week 1 always starts on the Monday that falls between December 29 and January 4, depending on which day the first Thursday of the year occurs.

So, to find that Monday in Google Sheets, we use the date immediately before January 5 of the given year:

=DATE(year, 1, 5)-WEEKDAY(DATE(year, 1, 3))

This gives us the ISO Week 1 start date, which forms the base for converting ISOWEEKNUM to date in Google Sheets.

Final Formula for Week Start and End Dates

To get the anchor point, we first find the Monday of the last ISO week in the previous year:

=DATE(year, 1, -2)-WEEKDAY(DATE(year, 1, 3))
  • DATE(year, 1, -2) → gives December 29 of the previous year (as per the ISO table, ISO Week 1 can begin as early as Dec 29).
  • WEEKDAY(DATE(year, 1, 3)) → finds the weekday of January 3 and helps adjust back to the last Monday of the previous year, which is also the start of the last ISO week of that year.

This Monday becomes the anchor date for calculating ISO weeks in the given year.

So the final formulas are:

Start date:

=DATE(C2, 1, -2)-WEEKDAY(DATE(C2, 1, 3))+D2*7

Here, D2*7 shifts the anchor Monday forward by the correct number of weeks.

End date:

=DATE(C2, 1, -2)-WEEKDAY(DATE(C2, 1, 3))+D2*7+6

The +6 moves from Monday to Sunday of the same ISO week.

The Role of LET and IF

The LET function assigns the formula result to the name test.

The IF condition checks whether the ISO week number of test matches the value in D2.

  • If yes → it returns the start/end date.
  • If not → it returns blank.

This prevents issues when the ISO week number entered is invalid.

Resources

Prashanth KV
Prashanth KV
Your Trusted Google Sheets and Excel Expert Prashanth KV is a Diamond Product Expert in Google Sheets, officially recognized by Google for his contributions to the Docs Editors Help Community and featured in the Google Product Experts Directory. Explore his blog to learn advanced formulas, automation tips, and problem-solving techniques to elevate your spreadsheet skills.

Top Discussions

More like this

Pivot Table Formatting, Output & Special Behavior in Google Sheets

Pivot Tables in Google Sheets are powerful—but they can get tricky once you move...

Pivot Table Calculations & Advanced Metrics in Google Sheets

When it comes to built-in tools for data analysis and visualization in Google Sheets,...

Google Sheets Pivot Table Tutorial: Basics, Setup, and Date Grouping

The easiest way to summarize, analyze, and report data in Google Sheets is by...

2 COMMENTS

  1. This sadly fails for e.g.:

    26/12/2022
    27/12/2022
    28/12/2022
    29/12/2022
    30/12/2022

    by incorrectly setting the isoweek’s start date to 01/01/2022

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.