Monthly Calendar in Google Sheets: How to Create One

How-to basics · Updated November 3, 2026

Monthly Calendar in Google Sheets: How to Create One

To create a monthly calendar in Google Sheets, enter the month’s first date in a cell such as B1, then place a date-grid formula in B4. For a Sunday-starting calendar, use =SEQUENCE(6,7,$B$1-WEEKDAY($B$1,1)+1,1); format the results as day numbers and add styling or an event list. Change B1 to reuse the calendar for another month.

What the calendar formula does

The formula creates a six-row, seven-column block of consecutive dates. It starts with the Sunday on or before the first day of the selected month, then fills each cell with the next date. Six rows are used because some months span six calendar weeks when arranged in seven columns. The dates before and after the chosen month are included to complete the grid.

For example, if B1 contains January 1, 2026, the first date displayed is December 28, 2025, and the last is February 7, 2026. These are real date values, not text labels, so they can be formatted, compared, sorted, or used in other formulas.

The formula uses Google Sheets’ SEQUENCE function to generate the grid at once. Its result expands, or spills, into the cells to the right and below the formula cell. Keep the surrounding 6-by-7 area empty; existing content in that area prevents the full result from appearing.

Set up the month and weekday headings

Start with a blank sheet in Google Sheets in a web browser. Put a date representing the first day of the month in B1. You can type a date such as 1/1/2026, depending on your spreadsheet’s date settings, or enter a date in a format Sheets recognizes. The important point is that B1 must contain a date value, not a text string that only looks like one.

Add weekday labels in B3:H3, in the order Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. Put the calendar formula in B4. The headings line up with the columns of the generated grid. If you prefer a Monday-first layout, use the Monday-start formula described below and change the headings to Monday through Sunday.

With B1 containing January 1, 2026 and B4 as the top-left corner of an otherwise empty grid, enter =SEQUENCE(6,7,$B$1-WEEKDAY($B$1,1)+1,1). The formula returns the 42 dates from December 28, 2025, through February 7, 2026. If Sheets displays a formula error, check that your spreadsheet locale accepts commas as argument separators and that B1 is a valid date.

Format dates so the calendar is easy to read

The generated cells initially show full dates or a locale-dependent date format. To show only the day of the month, select B4:H9 and choose Format > Number > Custom date and time. Choose or enter a day-only format such as d, then apply it. The underlying dates remain complete even though the cells display numbers such as 28, 1, or 7.

Make the grid usable at a glance by widening the seven date columns and increasing the row heights. Bold the weekday labels, add borders around the date cells, and use a larger font for the day numbers. Select the range and use the toolbar’s fill-color and text-formatting controls for visual emphasis. Avoid making the cells so small that event notes or printed text become difficult to read.

To distinguish dates outside the selected month, select B4:H9 and choose Format > Conditional formatting. Set the rule to “Custom formula is” and enter =MONTH(B4)<>MONTH($B$1). Apply a muted text or fill color. The reference to B4 is relative, so Sheets evaluates the appropriate cell throughout the selected range; the dollar signs keep the month selector fixed at B1.

You can make the current date stand out with a second conditional-formatting rule on the same range. Use “Custom formula is” and enter =B4=TODAY(), then choose a border or fill color. TODAY updates with the current date when the sheet recalculates, so this is more useful for a live calendar than for a fixed historical printout.

Make the calendar Monday-first or change months

For a Monday-first week, keep the same 6-by-7 layout but change the first-day calculation. With the month’s first date in B1 and the formula in B4, use =SEQUENCE(6,7,$B$1-WEEKDAY($B$1,2)+1,1). The second argument to WEEKDAY makes Monday day one, so the first visible date is the Monday on or before the first of the month. For January 2026, that date is December 29, 2025.

To move to another month, replace B1 with its first day, such as February 1, 2026. The date grid recalculates automatically; you do not need to edit the formula. For a more convenient selector, enter any date within the intended month in B1 and use that date consistently. The formulas shown here calculate the start of the displayed grid based on the weekday of B1, so to ensure a month selector always represents the first of a month, enter the first day explicitly.

You can also add a dropdown selector, but a list of month names stored as plain text will need an additional conversion to dates before it can drive this grid. A simple, dependable approach is to keep B1 as a real date and apply a display format such as “MMMM YYYY.” That shows a readable month title while preserving the date value the formula needs.

Add events without overwriting the dates

A date grid does not automatically become an appointment calendar. The SEQUENCE formula only generates dates; it does not import events from Google Calendar or provide a separate writing area inside each day. Typing an appointment directly into one of the generated date cells replaces that cell’s formula output and can disrupt the grid.

A practical approach is to keep event details in a separate table. For example, use columns A and B below or beside the calendar, label them Date and Event, and add one row per appointment. Enter actual dates in the Date column and concise descriptions in Event. You can filter or sort this list, and multiple events on the same date can each have their own row.

For a printable planner, another simple option is to leave blank space below the calendar for notes or create a second sheet with a larger weekly layout. If you want event descriptions displayed inside each calendar day, you need extra formulas or automation that matches event dates to the calendar dates. Keep the date grid and event data separate so that changing the month does not erase appointments.

Google Sheets and Google Calendar are separate products. A calendar made in Sheets will not sync appointments automatically just because the dates match. If live scheduling or invitations are central to the task, Google Calendar may be a better primary tool; Sheets can still be useful for a planning overview, staffing roster, or event list.

Reuse, share, and print the calendar

To reuse a finished design, keep the date selector, weekday headings, formula, and formatting in place, then change the month date. If you need a different calendar for each month, duplicate the sheet using the sheet tab’s menu and update the selector in the copy. Give each tab a clear name, such as January 2026, so readers can tell the periods apart.

Google Sheets saves edits to the file in Google Drive as you work, and you can share it using the Share button. Choose access appropriate to the audience: viewers can read the calendar, while editors can change its contents. Be cautious about sharing a calendar that includes personal, medical, or confidential work details; a shareable spreadsheet can expose information to anyone granted access.

For a paper copy, open File > Print and review the print preview. Choose landscape orientation if the seven columns are cramped, adjust scaling or margins if needed, and check that the calendar fits on the intended pages. Printing a wide, short month grid on portrait paper can make labels too small, so previewing before printing helps catch layout problems.

Common setup problems and fixes

  • The formula reports a parse error: Check the commas, parentheses, and cell references. Spreadsheet locale settings can affect date interpretation and formula separators; confirm that the value in B1 is recognized as a date.
  • The formula will not expand: Clear any content in the cells where the 6-by-7 result should appear. A single non-empty cell in the spill area can block the array result.
  • Dates show as large numbers: The cells still contain dates, but their number format is set to a numeric display. Select the range and choose Format > Number, then choose a date format or a custom day-only format.
  • The weekdays appear under the wrong headings: Match the heading order to the formula. WEEKDAY with return type 1 makes Sunday the first day; return type 2 makes Monday the first day.
  • Changing the month does not affect the grid: Make sure the formula refers to the selector cell you changed. If you copied the calendar to another area or sheet, its references may point to a different cell.
  • A date looks right but behaves like text: Re-enter it in a format Sheets recognizes or use the date picker. Text dates may not work as expected in date arithmetic or conditional-formatting rules.

When Google Sheets is the right choice

Sheets is a good fit when you want a customizable calendar that can sit beside budgets, project trackers, staff schedules, or event data. You can change the layout, share the spreadsheet, and use formulas to make a new month without rebuilding the dates. It is particularly convenient for a calendar that is more of a planning document than a system for sending invitations and reminders.

For personal appointments, recurring events, notifications, and guest responses, Google Calendar is usually more suitable because those are calendar-management features rather than spreadsheet features. A spreadsheet calendar can support team planning or reporting, but it requires users to maintain event information themselves unless you add a separate integration. Excel can also create calendar layouts, but its menus and formula behavior are not the subject of these Google Sheets steps; do not assume that a Sheets-specific setup transfers unchanged to Excel.

Frequently Asked Questions

Can Google Sheets create a monthly calendar automatically?
Yes. Enter a real date for the month in B1 and put the SEQUENCE formula in B4. It generates a six-week date grid that updates when you change the month selector.

How do I make the calendar start on Monday?
Use =SEQUENCE(6,7,$B$1-WEEKDAY($B$1,2)+1,1) in B4 and label the columns Monday through Sunday. The WEEKDAY return type of 2 treats Monday as the first day of the week.

Can I put several events on one calendar date?
Yes, but keep event details separate from the generated date cells. Use an event table with one row per event; multiple rows can share the same date without overwriting the calendar formula.

Why are dates from the previous or next month visible?
The formula fills complete weeks, so a month that begins or ends midweek includes neighboring dates to keep the seven-column layout aligned. You can mute those dates with conditional formatting rather than deleting them.

Will a Sheets calendar sync with Google Calendar?
Not automatically from the date-grid formula. The grid is a spreadsheet layout, not a live Calendar connection. Use Google Calendar for notifications and invitations, or investigate an appropriate integration if synchronized data is required.

Can I print the calendar from Google Sheets?
Yes. Use File > Print, check the preview, and adjust orientation, margins, or scaling so all seven columns remain readable. Landscape orientation often gives a monthly grid more room.

Related

Try it: the Date Difference Calculator: days, months, years and weekdays between two dates, with the DATEDIF formulas.

More in How-to basics

Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources

Spotted an error in this guide? Let us know.