Для среднего вы можете обойтись без массивов:
=AVERAGEIFS(D2:D$1000,A2:A$1000,A2,B2:B$1000,B2,C2:C$1000,"<="&C2)
Поскольку есть также COUNTIFS и SUMIFS, я думаю, что ваши наклоны могут быть рассчитаны одинаково.
Для остальных функций (макс., Мин. И т. Д.) Мы должны анализировать каждый случай отдельно.
Я провел небольшой тест производительности, и это, видимо, лучше, но, конечно, мои наборы данных просто высмеивают.
НТН!
Примечание: Excel 2007 и выше!
Редактировать - Ответ на ваш комментарий.
Не зная масштабов проблемы, трудно дать совет, но я все равно рискну:
Вы можете написать функцию VBA, которая:
1) Создает новый лист для каждой пары поколения компании
2) Сортирует данные в этих листах по дате
3) Добавляет формулы к этим листам (в этом контексте никаких условий не требуется)
4) Пересчитывает и получает результаты из этих формул и заполняет исходный лист
5) Удаляет вспомогательные листы