У меня есть фиктивный набор данных в Excel, который выглядит следующим образом.

Для удобства предположим, что этот диапазон вставляется из ячейки A1 в B7 врабочий лист.
Я хочу создать диапазон, который показывает мне 5 самых высоких показателей по идентификатору.Следовательно, конечный продукт должен выглядеть следующим образом:

Для этого я использовал формулу индекса вместе с функцией соответствия, содержащей функцию Large, которая дает мнекоторое является наибольшим значением KТак, например, для первого результата в столбце ID ниже я использую:
=INDEX($A$2:$B$7,MATCH(LARGE($B$2:$B$7,1),$B$2:$B$7,0),1)
Аналогично для первого результата в столбце Количество ниже я использую
LARGE($B$2:$B$7,1)
Если я применю это ко всем своим ячейкам, меняя значение K на строку, я получу конечный результат, похожий на:

AsВы можете видеть, что результат работает хорошо для идентификаторов, которые не имеют одинаковое количество.Однако на тех, где количество совпадает, я получаю дубликаты.Следовательно, я ищу функцию, которая ищет, собирается ли она выводить дубликат, а затем проверяет, есть ли другой идентификатор с тем же значением Count.
Я полагаю, что это может быть сложной задачей в базовом Excel, новозможно, есть способ сделать это в VBA?Однако я не очень знаком с VBA, и я не могу найти что-либо в интернете вокруг этого.Кто-нибудь может понять, как это сделать?
Большое спасибо!