FORMULA & SQL / TOTALS
Total for the last N days.
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,">="&TODAY()-30)
The total of the Amount column (C:C) where the Order Date column (D:D) is at least today minus 30.
Run on the example rows:
Result0
The SQL
PostgreSQL
SELECT SUM(amount) AS total FROM sales WHERE order_date >= CURRENT_DATE - INTERVAL '30 days'
Other databases
MySQL
SELECT SUM(amount) AS total FROM sales WHERE order_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
SQL Server
SELECT SUM(amount) AS total FROM sales WHERE order_date >= DATEADD(day, -30, CAST(GETDATE() AS date))
SQLite
SELECT SUM(amount) AS total
FROM sales
WHERE order_date >= date('now', '-30 days')BigQuery
SELECT SUM(amount) AS total FROM sales WHERE order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
Snowflake
SELECT SUM(amount) AS total FROM sales WHERE order_date >= DATEADD(day, -30, 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 ↗