FORMULA & SQL / TOTALS
Total for this 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
=SUMIFS(C:C,D:D,">="&EOMONTH(TODAY(),-1)+1,D:D,"<="&EOMONTH(TODAY(),0))
The total of the Amount column (C:C) where the Order Date column (D:D) is at least the last day of the month minus 1 months from today plus 1 and the Order Date column (D:D) is at most the last day of the month 0 months from today.
Run on the example rows:
Result0
The SQL
PostgreSQL
SELECT SUM(amount) AS total
FROM sales
WHERE DATE_TRUNC('month', order_date) = DATE_TRUNC('month', CURRENT_DATE)Run on the example rows:
| total |
|---|
Other databases
MySQL
SELECT SUM(amount) AS total FROM sales WHERE DATE_FORMAT(order_date, '%Y-%m-01') = DATE_FORMAT(CURDATE(), '%Y-%m-01')
SQL Server
SELECT SUM(amount) AS total FROM sales WHERE DATEFROMPARTS(YEAR(order_date), MONTH(order_date), 1) = DATEFROMPARTS(YEAR(CAST(GETDATE() AS date)), MONTH(CAST(GETDATE() AS date)), 1)
SQLite
SELECT SUM(amount) AS total
FROM sales
WHERE strftime('%Y-%m-01', order_date) = strftime('%Y-%m-01', date('now'))BigQuery
SELECT SUM(amount) AS total FROM sales WHERE DATE_TRUNC(order_date, MONTH) = DATE_TRUNC(CURRENT_DATE(), MONTH)
Snowflake
SELECT SUM(amount) AS total
FROM sales
WHERE DATE_TRUNC('month', order_date) = DATE_TRUNC('month', CURRENT_DATE)Your 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 ↗