Google Sheets Tips

Day of the week and week number in Google Sheets: WEEKDAY, WEEKNUM and ISOWEEKNUM

WEEKDAY returns the day of the week of a date as a number, TEXT returns it as a name, and WEEKNUM and ISOWEEKNUM return the week of the year. This guide covers the type argument of each, worked examples, combinations with IF, COUNTIF, INDEX and VLOOKUP, and the errors you can meet.

Google Sheets TipsVadym Kramarenko16 min read

Day of the week and week number in Google Sheets: WEEKDAY, WEEKNUM and ISOWEEKNUM

To get the day of the week from a date in Google Sheets, use =WEEKDAY(A1). It returns a number from 1 (Sunday) to 7 (Saturday). For the name of the day instead of a number, use =TEXT(A1, “dddd”), which returns “Monday”, “Tuesday” and so on. For the week of the year, use =WEEKNUM(A1), or =ISOWEEKNUM(A1) for ISO weeks.

You want Formula Result for a Wednesday
Day of the week as a number, week starting Sunday =WEEKDAY(A1) 4
Day of the week as a number, week starting Monday =WEEKDAY(A1, 2) 3
Name of the day =TEXT(A1, "dddd") Wednesday
Short name of the day =TEXT(A1, "ddd") Wed
Week of the year =WEEKNUM(A1) 1 to 53
ISO week of the year =ISOWEEKNUM(A1) 1 to 53

The rest of this guide explains the three functions and their type arguments, then shows them in formulas with conditional formatting, IF, COUNTIF, INDEX and MATCH, VLOOKUP and DATE.

WEEKDAY, WEEKNUM and ISOWEEKNUM: syntax and examples

WEEKDAY, WEEKNUM and ISOWEEKNUM: syntax and examples

WEEKDAY

WEEKDAY returns a number representing the day of the week of a date. By default 1 is Sunday, 2 is Monday and so on up to 7 for Saturday.

Syntax of WEEKDAY

The syntax of the WEEKDAY function in Google Sheets is:

=WEEKDAY(date, [type])

Let’s break it down:

  • date: The date for which you want to find the day of the week. This can be a date entered directly, a cell reference, or a formula that returns a date.
  • type (optional): Specifies the numbering system for days of the week.

Google Sheets accepts three types:

  • 1 (default): Numbers the days from Sunday = 1 to Saturday = 7.
  • 2: Numbers the days from Monday = 1 to Sunday = 7.
  • 3: Numbers the days from Monday = 0 to Sunday = 6.

Example of WEEKDAY

To find the day of the week of each employee’s birthday in column C:

=WEEKDAY(C3, 1)

Calculating the day of the week for a birthday date using the WEEKDAY function in Google Sheets, with Sunday represented by the number 1.

With type 1, the result counts from Sunday = 1 to Saturday = 7. The number is what you need for calculations and conditions. For a label a person will read, =TEXT(C3, "dddd") returns the name of the day directly.

WEEKNUM

WEEKNUM returns the week of the year a date falls in, as a number from 1 to 53. Week 1 is the week that contains January 1.

Syntax of WEEKNUM

The syntax of the WEEKNUM function is as follows:

=WEEKNUM(date, [type])

Let’s explain:

  • date: The date for which you want to find the week number.
  • type (optional): Specifies the day on which the week starts.

The type values:

  • 1 (default): the week starts on Sunday.
  • 2: the week starts on Monday.
  • 11 to 17: the week starts on Monday (11), Tuesday (12), Wednesday (13), Thursday (14), Friday (15), Saturday (16) or Sunday (17).
  • 21: ISO 8601 numbering: the week starts on Monday, and week 1 is the week that contains the first Thursday of the year. This is the same result as ISOWEEKNUM.

With every type except 21, January 1 is always in week 1, so the first week of a year can be shorter than seven days.

Example of WEEKNUM

To find the week of the year of each employee’s birthday:

=WEEKNUM(C3, 1)

With type 1, weeks begin on Sunday.

Determining the week number of a birthday date in Google Sheets using the WEEKNUM function, with Sunday as the start of the week.

ISOWEEKNUM

ISOWEEKNUM returns the ISO 8601 week number of a date. In this system every week starts on Monday and has seven days, and week 1 is the week that contains the first Thursday of the year. As a consequence, January 1 can belong to the last week of the previous year, and December 31 to week 1 of the next.

ISO weeks are the standard in most of Europe and in international reporting. =WEEKNUM(date, 21) returns the same number; pick one of the two and use it throughout a sheet.

Syntax of ISOWEEKNUM

=ISOWEEKNUM(date)

  • date: The date to evaluate: a cell with a date, or a formula that returns one.

Example of ISOWEEKNUM

To find the ISO week of each employee’s birthday:

=ISOWEEKNUM(C3)

For a birthday on 02/17/1963, the function returns 7: the date falls in the seventh ISO week of that year.

Applying the ISOWEEKNUM function in Google Sheets to find the ISO 8601 standard week number for a given birthday date.

Basic examples of WEEKDAY and WEEKNUM

Basic examples of WEEKDAY and WEEKNUM

Using WEEKDAY to identify the day of the week

The examples use a table of Chicago Bulls players with the date of each player’s last game in column C. To find the day of the week of the last game:

=WEEKDAY(C3, 1)

Here’s the breakdown:

  • C3: The last game day.
  • 1: Numbers the days from Sunday = 1 to Saturday = 7, where 1 represents Sunday and 7 represents Saturday.

Displaying the weekday number for ‘Last Game’ dates in Google Sheets using the WEEKDAY function.

Copy the formula down to get the weekday of every game.

Customizing the WEEKDAY function with the type argument

In much of the world the week starts on Monday. Set the type to 2 and WEEKDAY counts from Monday = 1 to Sunday = 7:

=WEEKDAY(C3, 2)

Breakdown of the formula:

  • C3: The last game day.
  • 2: Numbers the days from Monday = 1 to Sunday = 7.

Finding the weekday number for a ‘Last Game’ date using WEEKDAY in Google Sheets, where Monday is day 1.

Type 2 also makes weekend tests simple: Saturday and Sunday are the only results greater than 5.

Adding the word “Week” to the WEEKNUM function

A bare number in a report is easy to misread. Join the text “Week “ to the result with the & operator:

="Week " & WEEKNUM(C3)

For a date in cell C3 such as 02/17/1963, the result is “Week 7”.

Formatting the week number in Google Sheets using concatenation to display “Week “ combined with the result of WEEKNUM.

The result is text, so it can no longer be used in calculations. Keep the plain WEEKNUM in a helper column if you need to sort or compare by week.

Calculate the number of weeks in between two dates using WEEKNUM

Subtracting two week numbers gives the number of calendar weeks between two dates in the same year:

=WEEKNUM(D3) - WEEKNUM(C3)

WEEKNUM(D3) is the week of the later date and WEEKNUM(C3) the week of the earlier one.

Calculating the number of weeks between two dates in Google Sheets using the WEEKNUM function.

This is an approximation, and it breaks when the two dates are in different years, because week numbers start again at 1. For the number of full weeks between any two dates, divide the day difference by seven:

=INT((D3 - C3) / 7)

Organizing team events by ISO week numbers in Google Sheets

Each player has a contract renewal date in column D. To plan the renewals by ISO week:

=ISOWEEKNUM(D3)

Calculating the ISO week number for a column of contract renewal dates using the ISOWEEKNUM function in Google Sheets.

Sort or filter by the result to see which renewals fall in the same week.

The Turning Point

OWOX Data Marts

See your first report built in real time. 15 minutes.

  1. Connect your data warehouse
  2. Pick your metrics
  3. Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

Book a Demo

We'll use your actual use case

WEEKDAY and WEEKNUM in practice

WEEKDAY and WEEKNUM in practice

Highlighting weekends with conditional formatting and WEEKDAY

A custom formula in conditional formatting can color every date that falls on a weekend. To highlight the last games played on a Saturday or Sunday:

  • Select the range you want to apply formatting to (e.g., C3:C11 for the “Last Game” dates).
  • Go to Format → Conditional formatting.
  • Under Format cells if, choose Custom formula is and enter:

=OR(WEEKDAY(C3)=1, WEEKDAY(C3)=7)

The formula is true when the day is Sunday (1) or Saturday (7). Write it for the first cell of the range; Google Sheets applies it to the rest.

  • Choose a fill color and click Done.

Google Sheets interface showing the Conditional formatting panel, where a rule is being created to apply styling based on specific weekday conditions.

The weekend dates are now filled with the chosen color:

Output of the WEEKDAY function in Google Sheets, displaying the weekday number for the ‘Last Game’ dates, with formatting applied to some cells.

Comparing different types of week counting using WEEKNUM

The same date can fall in different weeks depending on the type. This table applies types 1, 2, 14 and 21 to the same dates. The last column uses:

=WEEKNUM(C3, 21)

Let’s explain:

  • C3: The date to evaluate.
  • 21: ISO 8601 numbering: weeks start on Monday, and week 1 is the week that contains the first Thursday of the year.

Comparing WEEKNUM return types (Type 1, 2, 14, and 21) in Google Sheets, showing how the start day of the week affects the calculated week number.

The numbers differ most around the turn of the year and for dates near the start or end of a week. Before two people compare “week 14”, they need to agree on the type.

Categorizing project tasks by week using WEEKNUM

To group the contract renewals by week of the year:

=WEEKNUM(D3)

Sort the sheet by the week column and the renewals line up in the order the paperwork has to be prepared.

Calculating the week number for a column of contract renewal dates using the basic WEEKNUM function in Google Sheets.

Analyzing results by ISO week

A week column turns daily records into a weekly series. The table lists the Chicago Bulls games of November 1995 with the date in column C and the score next to it. Add the ISO week of each game:

=ISOWEEKNUM(C3)

Calculating the ISO week number for a column of game dates in Google Sheets using the ISOWEEKNUM function.

To analyze the total scores by week, we’ll create a pivot table:

  • Select the data range B2:D16
  • Go to Data > Pivot Table to set up a new pivot table.

In the pivot table:

  • Add ISO Week to Rows.
  • Add Score to Values, setting the aggregation to SUM.

Visualize weekly score trends:

  • Select the pivot table.
  • Insert a chart with Insert → Chart. A line chart suits a series over time.

A line chart in Google Sheets titled “SUM of Score vs ISO Week”, visualizing the sum of scores for each ISO week number.

For data that spans more than one year, group by year and week together, or week 5 of two different years will be added up as one.

Combining WEEKDAY and WEEKNUM with other functions

Combining WEEKDAY and WEEKNUM with other functions

Displaying weekday names using WEEKDAY and CHOOSE functions

CHOOSE picks the item at a given position from a list. Feed it the WEEKDAY number and it returns the name of the day:

=CHOOSE(WEEKDAY(C3,1),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

Here’s how it works:

  • WEEKDAY: extracts the numeric day of the week from the date in column C (e.g., 1 for Sunday, 7 for Saturday).
  • CHOOSE: maps these numbers to their respective weekday names using a predefined list: “Sunday”, “Monday”, “Tuesday”, ….

Using the CHOOSE function combined with WEEKDAY in Google Sheets to convert the weekday number into the name of the day (e.g., Sunday, Monday, etc.).

For standard day names, =TEXT(C3, "dddd") is shorter and follows the language of the spreadsheet. CHOOSE is the right tool when the labels are your own, for example “Office”, “Remote” or “Closed” for each day of the week.

WEEKDAY function with COUNTIF and ARRAYFORMULA

With ARRAYFORMULA, WEEKDAY works on a whole range, and COUNTIF counts how often a given day appears.

Mastering ARRAYFORMULA in Google Sheets: A Complete Guide

To count how many of the last games were played on a Sunday:

=COUNTIF(ARRAYFORMULA(WEEKDAY(C3:C10, 1)), 1)

Here’s the breakdown:

  • WEEKDAY(C3:C10,1): Converts each date in the range C3:C10 into a numeric representation of the weekday (e.g., Monday = 2, Sunday = 1).
  • ARRAYFORMULA: ensures the WEEKDAY function is applied to the entire range.
  • COUNTIF: Counts how many of these numeric weekday results are equal to 1 (Sunday).

The formula calculates that 4 games occurred on a Sunday. You can adapt this method to count other days of the week by simply replacing 1 (Sunday) in the formula with another number corresponding to the desired weekday (e.g., 2 for Monday, 3 for Tuesday, etc.).

Counting the total number of Sundays in a date range using the COUNTIF and ARRAYFORMULA with the WEEKDAY function in Google Sheets.

WEEKDAY with IF function

With the IF function, WEEKDAY sorts dates into groups.

How to Leverage the IF Function in Google Sheets for Conditional Logic

To label each last game as a weekday or a weekend game:

=IF(WEEKDAY(C3,2)<6,"Weekday","Weekend")

Let’s explain:

  • WEEKDAY(C3,2): returns a number (1 for Monday, 7 for Sunday) based on the date in C3.
  • IF: checks if the number is less than 6 (Monday to Friday). If true, it outputs “Weekday”, otherwise “Weekend”.

Using the IF function with WEEKDAYto classify a date as a “Weekday” or “Weekend” in Google Sheets.

WEEKDAY with INDEX and MATCH function

With INDEX and MATCH, you can find the row whose date falls on a given day.

Complete Guide to Using INDEX and MATCH Functions in Google Sheets

To find the player whose contract renewal falls on a Saturday:

=INDEX(B3:B10,MATCH(7,WEEKDAY(D3:D10,1),0))

Let’s explain:

  • WEEKDAY(D3:D10, 1): calculates the weekday for each date in the Renewal column (1 = Sunday, 7 = Saturday).
  • MATCH(7, WEEKDAY(D3:D10, 1), 0): finds the first instance of Saturday (7 in the WEEKDAY system).
  • INDEX(B3:B10, …): retrieves the corresponding player name from the Employee column.

The formula returns Michael Jordan, the first player in the list with a Saturday renewal. A renewal date on a day the office is closed is worth knowing about in advance.

Identifying the employee with a weekend renewal date by combining the INDEX, MATCH, and WEEKDAY functions in a single formula in Google Sheets.

MATCH returns the first match only. To list every row that falls on a Saturday, use =FILTER(B3:B10, WEEKDAY(D3:D10, 1) = 7).

WEEKDAY with VLOOKUP and TODAY function

WEEKDAY(TODAY()) returns the number of the current day, and VLOOKUP can use it to fetch whatever belongs to today from a table.

Everything about VLOOKUP in Google Sheets

Suppose the team wears a different uniform color on each day of the week. A reference table lists the weekday number, the day name and the color. To show today’s color:

=VLOOKUP(WEEKDAY(TODAY(), 2), B3:D9, 3, FALSE)

Breakdown:

  • TODAY(): retrieves the current date.
  • WEEKDAY(): converts this date into a weekday number (1 = Monday, 7 = Sunday) using the type 2 argument.
  • VLOOKUP: searches for the weekday number and retrieves the corresponding uniform color.
  • FALSE: ensures an exact match is required.

Using the VLOOKUP function combined with WEEKDAY function in Google Sheets to retrieve the Uniform Color based on the current day of the week.

The result changes by itself every day.

Dynamic date calculations using WEEKNUM with the DATE function

When year, month and day are stored in separate columns, the DATE function builds a date that WEEKNUM can use. With the contract start year in column C, the month in D and the day in E:

=WEEKNUM(DATE(C3, D3, E3))

Let’s break it down:

  • DATE: combines the year, month, and day values into a complete date.
  • WEEKNUM: calculates the corresponding week number for each date.

Determining the week number by nesting the DATE function inside the WEEKNUM function to combine separate year, month, and day columns.

Combining ISOWEEKNUM with the DATE function

The same works for ISO weeks:

=ISOWEEKNUM(DATE(C3,D3,E3))

Let’s break it down:

  • DATE: combine the year, month, and day values into a complete date.
  • ISOWEEKNUM: determines the ISO week number for the constructed date.

Calculating the ISO week number by nesting the DATE function inside ISOWEEKNUM to combine separate year, month, and day columns.

The current week with ISOWEEKNUM and NOW

NOW returns the current date and time, so ISOWEEKNUM(NOW()) is the ISO week you are in today.

How to Use NOW and TODAY Functions in Google Sheets for Real-Time Data

=ISOWEEKNUM(NOW())

Calculating the current ISO week number by using the ISOWEEKNUM function combined with the NOW function in Google Sheets.

=ISOWEEKNUM(TODAY()) returns the same number. Compare it with the week of a deadline to see how many weeks are left.

Errors and wrong results in WEEKDAY and WEEKNUM

Errors and wrong results in WEEKDAY and WEEKNUM

#VALUE!: the cell is not a date

⚠️ Error: The function returns #VALUE! when the cell contains text instead of a date. A date that Google Sheets did not recognize is text: it sits on the left of the cell and does not change when you change the date format.

✅ Solution: Re-enter the date in a format the spreadsheet’s locale understands, or build it with DATE(year, month, day). For a column of text dates, DATEVALUE converts them.

#NUM!: the type is not valid

⚠️ Error: The function returns #NUM! when the type argument is a number it does not accept.

✅ Solution: Use 1, 2 or 3 for WEEKDAY, and 1, 2, 11 to 17 or 21 for WEEKNUM.

The day or the week is off by one

⚠️ Error: The result is a valid number, but not the one you expected.

✅ Solution: Check the type first: Sunday is 1 with the default and 7 with type 2. Then check how the date was read. In a month-first locale, 03/04/2026 is March 4; in a day-first locale it is April 3. Finally, make sure everyone uses the same week system, because WEEKNUM and ISOWEEKNUM can differ by one for the same date.

#N/A in a lookup that uses WEEKDAY

⚠️ Error: WEEKDAY and WEEKNUM do not return #N/A themselves, but a VLOOKUP or MATCH built on them does when the number is not in the lookup table.

✅ Solution: Make the type in the formula match the numbering in the table. A table numbered Monday = 1 needs WEEKDAY(date, 2).

Related Google Sheets functions

Functions that are often used next to WEEKDAY and WEEKNUM, each with its own guide:

  • UNIQUE: Extracts unique values from a range, removing duplicates to create a cleaner dataset.
  • PIVOT: Creates dynamic summaries by grouping and aggregating data for easy analysis.
  • IMPORTRANGE: Imports a range of cells from another spreadsheet.
  • MATCH: Locates a value within a range and returns its relative position, aiding lookups.
  • COUNTA: Counts non-empty cells in a range, useful for tracking entries or data completeness.
  • MAX, MIN, MEDIAN: Identifies the highest value (MAX), lowest value (MIN), or middle value (MEDIAN) for statistical analysis.
  • QUERY date filtering: Filters rows by a date or a date range inside a QUERY formula.
  • MONTH/EOMONTH: Extracts the month from a date or returns the last day of a month, handy for monthly reports.
  • Dates and times: Covers formatting, combining, splitting and sorting date and time values.

A week number is only as reliable as the dates behind it

A week number is only as reliable as the dates behind it

WEEKDAY and WEEKNUM do exactly what they are told with the dates they are given. Most wrong weekly reports are wrong earlier than that: dates pasted from an export as text, a file where day and month were swapped on import, a week that is missing because the export stopped on Thursday. The formula returns a tidy number either way.

The OWOX Data Marts extension for Google Sheets covers that half. A data analyst publishes a data mart (a table or an SQL query in your data warehouse) and makes it available for reports. In Sheets you open the extension, pick the data mart, tick the columns you want and run it. The rows land in a tab, ready for your formulas.

Google Sheets with the OWOX Data Marts extension open beside an ad spend table: the Unified Ad Spend data mart, nine of fourteen columns ticked and a Save & Run button – the rows in the sheet come from a governed data mart, not a pasted export

What changes for the person who maintains the sheet:

  • Refresh replaces re-export. Refresh current report in the extension menu re-runs the same pull, and a scheduled refresh keeps the tab current without anyone touching it.
  • The source is written on the sheet. The header cell of an imported tab carries a note with the data mart it came from, the time of the import and a link to the report.
  • No SQL and no warehouse access needed. The analyst decides which data marts and columns are available. You choose from that list.

The extension does not write or change the analyst’s SQL, and WEEKNUM remains your tool for grouping by week. The dates arrive as real dates, from the same source every time, so the week they fall in is not a matter of who did the export. The extension comes with the OWOX Cloud plans of OWOX Data Marts; spreadsheet reporting describes both ways data reaches a sheet.

Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

  • No AI hallucinations
  • Analyst-governed definitions
  • Every number traces to SQL
Get started free

FAQ

Frequently Asked Questions

Can I combine WEEKDAY with other functions to display weekday names?

Yes, you can combine WEEKDAY with functions like CHOOSE or VLOOKUP to display weekday names. For example:=CHOOSE(WEEKDAY(A1,1),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")This formula displays the weekday name for any given date.

How can I calculate the number of weeks between two dates in Google Sheets?

For full weeks between any two dates, divide the day difference by seven: =INT((B1 - A1) / 7). Subtracting week numbers, =WEEKNUM(B1) - WEEKNUM(A1), counts calendar weeks and only works when both dates are in the same year.

How can I add the word "Week" before the week number in Google Sheets?

Join the text to the week number with the & operator: ="Week " & WEEKNUM(A1). The result reads "Week 1", "Week 2" and so on. It is text, so keep a plain WEEKNUM column if you need to sort or calculate by week.

What should I do if my WEEKNUM function returns a #NUM! error?

WEEKNUM returns #NUM! when the type argument is not one it accepts. The valid types are 1 (week starts on Sunday), 2 (Monday), 11 to 17 (Monday through Sunday) and 21 (ISO weeks). If the date itself is text, the error is #VALUE! instead.

How do I calculate the ISO week number in Google Sheets?

To calculate the ISO week number, use the ISOWEEKNUM function. For example:=ISOWEEKNUM(A1)This formula assigns each date to its ISO-compliant week number, starting from the first Thursday of the year.

What is the difference between the WEEKDAY and WEEKNUM functions in Google Sheets?

The WEEKDAY function returns a number representing the day of the week for a specific date, with options to define the starting day (e.g., Sunday or Monday). The WEEKNUM function returns the week number of a specific date in a year, based on a chosen numbering system.

Who wrote this

Vadym Kramarenko

Vadym Kramarenko · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.