FORMULA & SQL / DATES
First day of the month.
Tested, not guessed.
The Excel and Google Sheets formula and the SQL query, each run on the rows below. Open this with your own data ↗
The example rows
| Row | A: Region | B: Rep | C: Amount | D: Order Date | E: Status | F: Customer |
|---|---|---|---|---|---|---|
| 2 | North | Ana | 1,200 | 2026-03-01 | Paid | Jo Smith |
| 3 | South | Ben | 450 | 2026-03-15 | Open | Raj Patel |
| 4 | North | Cy | 300 | 2026-04-02 | Paid | Lee Wong |
| 5 | East | Ana | 980.50 | 2026-04-20 | Paid | Mia Ross |
| 6 | North | Ben | 75 | 2026-05-05 | Open | Jo Smith |
| 7 | West | Dee | 1,640 | 2026-05-18 | Paid | Sam Okoro |
The formula
Excel
=EOMONTH(D2,-1)+1
The last day of the month minus 1 months from Order Date (D2) plus 1.
Run on the example rows:
| Row | Result |
|---|---|
| 2 | 2026-03-01 |
| 3 | 2026-03-01 |
| 4 | 2026-04-01 |
| 5 | 2026-04-01 |
| 6 | 2026-05-01 |
| 7 | 2026-05-01 |
The SQL
PostgreSQL
SELECT *, DATE_TRUNC('month', order_date) AS month_start
FROM salesRun on the example rows:
| region | rep | amount | order_date | status | customer | month_start |
|---|---|---|---|---|---|---|
| North | Ana | 1200 | 2026-03-01 | Paid | Jo Smith | 2026-03-01 |
| South | Ben | 450 | 2026-03-15 | Open | Raj Patel | 2026-03-01 |
| North | Cy | 300 | 2026-04-02 | Paid | Lee Wong | 2026-04-01 |
| East | Ana | 980.5 | 2026-04-20 | Paid | Mia Ross | 2026-04-01 |
| North | Ben | 75 | 2026-05-05 | Open | Jo Smith | 2026-05-01 |
| West | Dee | 1640 | 2026-05-18 | Paid | Sam Okoro | 2026-05-01 |
Other databases
MySQL
SELECT *, DATE_FORMAT(order_date, '%Y-%m-01') AS month_start FROM sales
SQL Server
SELECT *, DATEFROMPARTS(YEAR(order_date), MONTH(order_date), 1) AS month_start FROM sales
SQLite
SELECT *, strftime('%Y-%m-01', order_date) AS month_start
FROM salesBigQuery
SELECT *, DATE_TRUNC(order_date, MONTH) AS month_start FROM sales
Snowflake
SELECT *, DATE_TRUNC('month', order_date) AS month_start
FROM salesYour own data
Paste your rows into the free tool and it writes this for your columns, then runs it on your data before you copy it. Open the tool ↗