How to total the rows between two dates with SUMIFS

Totalling a single quarter is where date sums quietly go wrong. Building the dates with DATE keeps the formula working no matter how your computer is set up.

The formula

=SUMIFS(B:B,A:A,">="&DATE(2026,1,1),A:A,"<="&DATE(2026,3,31)) in column D

What each part does

SUMIFS
Adds numbers only from the rows where every condition is true.
B:B
The numbers being added.
A:A, ">="&DATE(2026,1,1)
Keeps only the rows where A:A is on or after DATE(2026,1,1).
A:A, "<="&DATE(2026,3,31)
Keeps only the rows where A:A is on or before DATE(2026,3,31).

How it works, and what to watch for

Typing a date as text, like ">=01/03/2026", is read one way in the US and another in Europe. DATE(2026,3,1) means the very same day everywhere, so it sidesteps the whole problem.

If your dates carry a time as well, which happens a lot with system exports, the final day slips through the net. Using "<"&DATE(...)+1 instead of "<=" catches the whole of that last day.

This is far and away the most common "why is my total zero" question, and the answer is almost never the formula. It is the dates.

Questions

Why is my date total coming out as zero?

Either the dates are really text dressed up to look like dates, or they include a time that pushes them past your end date. Format one date cell as a number: a real date shows a serial like 46000, whereas text stays stuck to the left.

How do I total between two dates?

Put two conditions on the same date column: one ">="&start and one "<="&end, each built with DATE(year,month,day).

The example sheet

Invoice date Amount Q1 total
2026-01-14 900
2026-02-28 1250
2026-04-03 600
2026-03-30 410

If this helped, these are close by

When this formula goes wrong

More on SUMIFS, and every walkthrough that uses it.

Settings: separator, Excel version

Argument separator

Set by your computer's language, not by the file. A frequent cause of a correct-looking formula being rejected.

Excel version

XLOOKUP, IFS, TEXTBEFORE and TEXTJOIN need Microsoft 365 or 2021; older versions return #NAME? instead. Choosing the older one switches every walkthrough to a formula that works there.