Excel: чрезмерное время для обработки нескольких формул индекса / агрегата.Лучше использовать массивы? - PullRequest
0 голосов
/ 13 мая 2019

Как показано на фото ниже, пользователь вводит разделение в ячейку G4, в этом случае «Игра» и соответствующие приложения, являющиеся играми, отображаются в ячейках ниже G4.Ячейка F4 является встречной ячейкой и рассчитывает количество вхождений определенного деления в ячейки A5: A14 по формуле:

=COUNTIF($A$5:$A$14,$G$4)

Формула в G5 для поиска первого совпадения «Игры» в A5: A14:

=IF(ROWS($F$5:F5)<=$F$4,INDEX($B$5:$B$14,AGGREGATE(15,3,($A$5:$A$14=$G$4)/($A$5:$A$14=$G$4)*(ROW($A$5:$A$14)-ROW($A$4)),ROWS($F$5:F5))),"")

И G6:

=IF(ROWS($F$5:F6)<=$F$4,INDEX($B$5:$B$14,AGGREGATE(15,3,($A$5:$A$14=$G$4)/($A$5:$A$14=$G$4)*(ROW($A$5:$A$14)-ROW($A$4)),ROWS($F$5:F6))),"")

Это пример моего фактического набора данных, который имеет 180 000 строк, поэтому для выполнения формулы 180 000 агрегатов / индексов требуется значительное время.

Есть ли более быстрый способ использования массивов?

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...