Function Problems

How to Create a Weekday-Only Monthly Calendar in Excel

Emma BrownEmma Brown Nov 10, 2026 869 views

Question details

The user needs to generate a dynamic monthly calendar layout that strictly displays a five-column grid for Monday through Friday, omitting weekends and automatically blanking out dates outside the specific month.

How to Create a Weekday-Only Monthly Calendar in Excel
Product
Excel
Device & OS
not provided
Scenario
Setting up a custom schedule, timesheet, or business calendar that only requires working weekdays without cluttering the spreadsheet with weekend columns or overlap dates from previous/next months.
Observed behavior
Instead of manually typing out dates or using complicated manual layouts, the goal is to input the first day of the month and have Excel automatically spill a formatted, weekday-only calendar grid.
Before you start

Ensure your version of Excel or spreadsheet software supports dynamic array functions like SEQUENCE, LET, and LAMBDA, as these are required for the automated grid generation.

Solution 1Recommended

Use a Dynamic Array LAMBDA Formula

Create a custom, reusable function utilizing SEQUENCE and DROP to automatically build your Monday-to-Friday calendar grid while hiding adjacent month dates.

This approach uses a combination of modern dynamic array functions. SEQUENCE builds the entire grid, WEEKDAY aligns the start date properly, EOMONTH helps identify dates outside the current month, and DROP removes the Saturday and Sunday columns.

1
Open the Name Manager

Navigate to the Formulas tab on your ribbon and click on 'Name Manager'. Click 'New' to create a named formula.

2
Define the LAMBDA function

In the 'Name' field, type 'WeekdayCalendar'. In the 'Refers to' field, paste this exact formula: =LAMBDA(start_of_month,LET(mGrid,SEQUENCE(5,7,start_of_month+1-WEEKDAY(start_of_month,16)),cleanMonth,IFS(mGrid<start_of_month,"",mGrid>EOMONTH(start_of_month,0),"",1,DAY(mGrid)),DROP(cleanMonth,,2)))

3
Call the function in your sheet

Select an empty cell where you want the top-left corner of your calendar to start. Type =WeekdayCalendar(DATE(2023,10,1)) (replacing the year, month, and day with your desired start date) and press Enter.

4
Format the output cells

Because the formula utilizes the DAY function in its IFS statement, the output will already display as standard numbers (1, 2, 3...) representing the day of the month. You can adjust the cell alignment and borders to make it look like a standard calendar.

Use a Dynamic Array LAMBDA Formula
Alternative Direct Usage: If you prefer not to use the Name Manager, you can test the LAMBDA formula directly in a cell by appending the parameter at the very end, like this: =LAMBDA(...)(DATE(2023,10,1))
Dynamic Array Support in WPS Office

Create Dynamic Work Calendars Effortlessly in WPS Spreadsheet

WPS Spreadsheet fully supports advanced dynamic arrays, including SEQUENCE, LET, and nested formulas, allowing you to build automated custom calendars with ease. Get all the advanced functionality you need in a faster, lightweight office suite.

  1. 1. Download and Install WPS Office: Get the free WPS Office suite from the official website and open WPS Spreadsheet.
  2. 2. Enter Your Dynamic Formula: Select any cell and simply paste your dynamic array formula or custom LET/SEQUENCE functions to generate grids.
  3. 3. Access Free Templates: Alternatively, click on 'New' and search for 'Calendar' in the WPS Template library to instantly download a ready-to-use business calendar.
100% compatible with Microsoft Excel (.xlsx) formats and formulasFull support for modern dynamic array functions like SEQUENCE and FILTERCompletely free and lightweight alternative to heavy office softwareBuilt-in library of highly customizable calendar and schedule templates
microsoft office alternative - wps office

Frequently Asked Questions

Why does the formula return a #NAME? error?

A #NAME? error typically means your version of Excel does not support one or more functions used in the formula, such as LAMBDA, LET, or SEQUENCE. You will need a modern version of Excel (Microsoft 365) or a compatible updated suite like WPS Office.

How can I change the formula to include weekends?

To include weekends, you simply remove the final DROP function which currently strips away the weekend columns. Your formula would end with just returning the 'cleanMonth' variable.

Can I automatically highlight today's date on this generated calendar?

Yes. Select the entire spilled calendar grid, go to Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format. Enter the formula =A1=DAY(TODAY()) (assuming A1 is your top-left cell) and set your desired fill color.

Why does the formula output numbers instead of full dates?

The formula uses the DAY(mGrid) function in its final step to specifically return just the day number (e.g., 15) instead of the full serial date (e.g., 10/15/2023) to make the calendar look cleaner.