Есть несколько более простых способов сделать это в Excel. Тем не менее, я использую LO Calc, и несколько простых формул, которые работают в Excel, не работают в Calc. Я должен был использовать метод, который мог проверить. Итак, вот решение, которое также работает в Calc.
В этом решении используется вспомогательный столбец (то, что вы видите в столбце F на скриншоте), который можно скрыть, если вы не хотите его видеть.

Мой вывод за сентябрь 2016 года не совпадает с вашим. Потребовалось несколько минут, чтобы понять, что это потому, что вы не включили данные C и D за сентябрь в свой пример. Мой результат верен для данных.
Формулы
Начнем со вспомогательного столбца. Таблица 2 основана на именах в календарных кварталах. Вспомогательная колонка дает вам это. Формула в F2:
=CEILING(MONTH(E2)/3)&A2
Первая часть вычисляет, в каком квартале находится дата. Имя присоединяется к этому с помощью &
.
Это подводит нас к сути проблемы. Формула в C16:
=IFERROR(INDEX(C$2:C$12,SUMPRODUCT(MAX((F$2:F$12=F16)*ROW(F$2:F$12)))-1),"")
Как это устроено
Я объясню формулу изнутри, прорабатывая.
SUMPRODUCT(MAX((F$2:F$12=F16)*ROW(F$2:F$12)))
SUMPRODUCT идентифицирует строку, содержащую последнюю запись в столбце помощника, которая соответствует имени и кварталу.
INDEX(C$2:C$12,last_matching_row-1)
INDEX выбирает это значение из ваших данных в столбце C, используя строку этого последнего значения. Тем не менее, местоположение указывается относительно диапазона, в котором он находится, а не фактической строки на рабочем листе, поэтому -1
корректируется для этого.
=IFERROR(formula,"")
Рабочая часть формулы вычисляет ваш результат, когда у вас есть данные. Если данных нет, возвращается ошибка. Таким образом, формула заключена в IFERROR, который создает пустую ячейку, если нет данных.