How to Generate Bimonthly Sequential Dates in Google Sheets

Published on

Need to create a list of dates that repeat every two months? It’s easier than you think—especially in Google Sheets. With a simple formula using EDATE and SEQUENCE, you can automatically generate bimonthly dates in Google Sheets without any manual work.

Let me walk you through what bimonthly actually means, why this might be useful, and how to get the formula working.

What Are Bimonthly Dates?

There’s often confusion around the word bimonthly. In this post, we’re using the proper meaning: once every two months (not twice a month, which is semimonthly).

So bimonthly dates would look like:

  • Jan 1, Mar 1, May 1…
  • Or Jan 15, Mar 15, May 15…

As long as the day of the month stays consistent, the spacing is two months apart.

Why Generate Bimonthly Dates in Google Sheets?

There are plenty of practical reasons why you might want to create a bimonthly date sequence in a spreadsheet:

  • Recurring tasks every two months (e.g. reports, team check-ins)
  • Billing schedules for subscriptions or services
  • Utility readings or reminders
  • Long-term planning or timelines that need events spaced evenly

Basically, any task or record that happens every two months is a good fit for this setup.

Generic Formula

=ArrayFormula(EDATE(DATE(year, month, day), SEQUENCE(n, 1, 0, 2)))

Here’s how it works:

  • Replace year, month, and day with your starting date
  • Replace n with how many bimonthly dates you want

Example 1 – Starting on the 1st of the Month

=ArrayFormula(EDATE(DATE(2025, 1, 1), SEQUENCE(6, 1, 0, 2)))

This gives you:

01/01/2025  
01/03/2025
01/05/2025
01/07/2025
01/09/2025
01/11/2025

So it starts in January 2025 and repeats every two months on the 1st.

Example 2 – Starting Mid-Month

Want the dates to fall on the 15th instead of the 1st? Just change the date in the formula:

=ArrayFormula(EDATE(DATE(2025, 1, 15), SEQUENCE(6, 1, 0, 2)))

You’ll get:

15/01/2025  
15/03/2025
15/05/2025
15/07/2025
15/09/2025
15/11/2025

The pattern stays the same—just spaced every two months from your chosen start day.

Want Dates in a Row Instead of a Column?

By default, the formula lists the dates in a column. But if you want them across a row, just flip the row and column values in SEQUENCE:

=ArrayFormula(EDATE(DATE(2025, 1, 1), SEQUENCE(1, 6, 0, 2)))

Now you’ll get six bimonthly dates in a row—perfect for a timeline or calendar header.

Quick Breakdown of the Formula

=ArrayFormula(EDATE(DATE(2025, 1, 1), SEQUENCE(6, 1, 0, 2)))
  • DATE(2025, 1, 1) is your start date
  • SEQUENCE(6, 1, 0, 2) generates a list of increments: 0, 2, 4, 6… (every 2 months)
  • EDATE shifts the start date forward using those increments
  • ArrayFormula lets the whole list show up at once

Simple and flexible.

Wrapping Up

If you’re working on something that repeats every two months—whether it’s tasks, bills, or reminders—this formula can save you tons of time. Just adjust the starting date and the number of entries, and Google Sheets will handle the rest.

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

Free Monthly Expense Tracker Template in Google Sheets (Dashboard Included)

A monthly expense tracker in Google Sheets helps you record daily expenses, analyze spending...

The Complete Guide to XLOOKUP in Google Sheets (15+ Practical Examples)

The XLOOKUP function largely replaces traditional lookup functions such as LOOKUP, VLOOKUP, and HLOOKUP...

How to Sort and Filter Pivot Tables in Google Sheets (Complete Guide)

Sorting and filtering are two of the most important techniques for analyzing data in...

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.