Excel - Ускорение индекса - PullRequest
       18

Excel - Ускорение индекса

0 голосов
/ 27 сентября 2019

У меня возникли серьезные проблемы с производительностью в созданной мной книге Excel.Мне нужно извлечь данные из другого рабочего листа в книге, который имеет 7 столбцов данных и около 300 строк.

Объем данных не должен быть проблемой - я думаю, что проблема, с которой я столкнулся, сводится к массиву index | match, который имеет несколько условий соответствия.Мне интересно, есть ли другой подход, который я могу использовать, потому что рабочая книга становится все труднее работать.

Вот некоторые выдуманные данные: enter image description here

ЭтоДанные объединяются в отдельную программу из базы данных, и я выводю их в файл Excel.

Вот пример составленного сегмента отчета:

enter image description here

Где формула для строк «Активные учетные записи» и «Онлайн-учетные записи»:

{=IFERROR(INDEX($D:$G,MATCH($K$2&M$1,$C:$C&$A:$A,0),MATCH($L2,$D$1:$G$1,0)),0)}

и формула для строк «Оба», «Онлайн»,и «Бумага» выглядит следующим образом:

{=IFERROR(INDEX($G:$G,MATCH($K2&M$1&$L6,$C:$C&$A:$A&$F:$F,0)),0)}

У меня есть около 5 других «сегментов», которые отражают похожие данные по-разному в этом формате за 13 месяцев.Имея только 300 записей данных, эта книга по-прежнему мучительно медленна даже для применения форматирования, поэтому я надеюсь, что есть лучший подход, чем просто использовать эти стрелки с Index | Match.

1 Ответ

0 голосов
/ 27 сентября 2019

Выберите любой диапазон в вашем наборе данных и нажмите CTRL + A, затем нажмите CTRL + T.Это создаст таблицу, на которую вы можете ссылаться как на именованный диапазон.

Напишите формулу соответствия индекса, как обычно, за исключением того, что выбирайте только те данные, которые вы ищете, это означает, что не выбирайтеВесь столбец, это то, что отягощает вашу систему , просто выберите диапазоны с данными, которые вы просматриваете.

Когда вы выделите свои данные, вы заметите, что они скажут что-то вроде Table1[Accounts]это означает, что он получает доступ к диапазону данных этого именованного столбца.Это позволит вашей формуле масштабироваться по мере роста таблицы (или сокращения по мере необходимости), а не вычислять дальше, чем необходимо.Это сэкономит вашему компьютеру огромное количество вычислительной мощности при расчете.

...