Если ваши даты указаны в столбце B, а числа, которые нужно накапливать, указаны в A, вы можете попробовать что-то вроде этого:
| A | B | C D
1 | 33 | 4/1/2009 | =MIN(B:B) | {=SUM(IF(B1:B5=C1,A1:A5,0))} |
2 | 22 | 4/1/2009 | =C1+1 | {=SUM(IF(B1:B5=C2,A1:A5,0))} |
3 | 12 | 4/2/2009 | =C2+1 | {=SUM(IF(B1:B5=C3,A1:A5,0))} |
4 | 13 | 4/4/2009 | =C3+1 | {=SUM(IF(B1:B5=C4,A1:A5,0))} |
5 | 36 | 4/4/2009 | =C4+1 | {=SUM(IF(B1:B5=C5,A1:A5,0))} |
Обратите внимание на {}, который обозначает формулу массива (ввод с использованием Control-Shift-Enter) для любого нетривиального объема данных, который он накапливает быстрее, чем SUMIF ().
Я был бы склонен определять динамические имена для деталей A1: A5 и B1: B5, что-то вроде
=OFFSET(A1,0,0,COUNT(A:A),1)
чтобы мне не приходилось исправлять формулы.
Есть еще ручной элемент: например, добавление новых строк для дополнительных дат - это может быть хорошим местом для небольшого VBA. В качестве альтернативы, если вам не удастся показать, например, итоги последних 90 дней, вы можете зафиксировать количество используемых строк.