Формула массива не требуется:
MINIFS($A$2:$A$7,$B$2:$B$7,D$1,$A$2:$A$7,">" & MAX(D$1:D1))
Просто простые МИНИФЫ. Затем оберните его в IF, чтобы удалить нули:

РЕДАКТИРОВАТЬ: дополнительные разъяснения в ответ на комментарий.
Я поместил обе таблицы на один лист для удобства, однако, при необходимости, их можно легко переместить на отдельный лист.
Формула работает путем выбора группы с наименьшим значением, имя которой указано в верхней части столбца И, который еще не был указан.
Итак:
MINIFS($A$2:$A$7,$B$2:$B$7,D$1,$A$2:$A$7,">" & MAX(D$1:D1))
Первый аргумент в формуле MINIFS - $A$2:$A$7
. Это столбец, содержащий все группы, которые мы хотим выделить и перечислить по каждому имени.
2-й и 3-й аргументы ($B$2:$B$7,D$1
) - это диапазон критериев и его значение. Это используется, чтобы отфильтровать любое имя, которое мы не хотим возвращать в этой конкретной ячейке (любое, которое не является "Барни" в случае D2). Обратите внимание, что D$1
в формуле не начинается с $
, это означает, что мы можем просто перетащить формулу через другие столбцы имен, и она автоматически отфильтрует правильные имена.
4-й и 5-й аргументы ($A$2:$A$7,">" & MAX(D$1:D1)
) также являются диапазоном критериев и его значением. Как бы то ни было, в случае значения на этот раз мы ищем максимальное значение в пределах диапазона. Мы смотрим на все группы, которые уже были перечислены по имени, и используем MAX, чтобы выбрать самую высокую. Обратите внимание, что в формуле есть $
перед первым «1», но не перед вторым. Это означает, что когда мы перетаскиваем формулу вниз, диапазон, в котором она ищет МАКС, автоматически расширяется и включает ячейку чуть выше текущей. Также обратите внимание, что перед любым из «D» нет $
, так что при перетаскивании формулы вправо проверяемый диапазон также перемещается вправо. Когда у нас есть группа MAX, которая уже была указана для имени, мы сообщаем формуле MINIFS, что нужно смотреть только на группы, которые больше этого.
Если для имени, которое больше группы, указанной в списке, нет групп, формула MINIFS вернет 0. Чтобы таблица не отображала лот с нулями, мы просто говорим: «Если формула MINIFS вернет 0, верните вместо этого пустая строка:
=IF(<the result of the MINIFS>=0, "",<the result of the MINIFS>)
Итак, окончательная формула будет:
=IF(MINIFS($A$2:$A$7,$B$2:$B$7,D$1,$A$2:$A$7,">" & MAX(D$1:D1))=0,"",MINIFS($A$2:$A$7,$B$2:$B$7,D$1,$A$2:$A$7,">" & MAX(D$1:D1)))
Надеюсь, это имеет больше смысла для вас. Извините, если объяснение немного затянуто, но, поскольку вы не указали мне конкретную область, которую вы не поняли, я просто попытался расширить свое объяснение в целом. Если есть какая-то конкретная часть, которую вы хотите, чтобы я объяснил дальше, пожалуйста, дайте мне знать.