У меня есть модель Excel, где основным элементом является одна большая структурированная таблица, которая содержит около 2000 столбцов и 200 строк. Каждый столбец содержит формулу, которая одинакова для каждой строки. Как файл XLSB, размер рабочей книги составляет около 11 МБ, и для ее открытия требуется 45 секунд. Сами формулы эффективны - полный расчет рабочей книги выполняется менее чем за 1 секунду.
Если я разделю эту модель на две, используя две отдельные таблицы в одной книге (со ссылками между ними), производительность не изменится. Но когда я разделил эти листы на две книги со ссылками в качестве внешних ссылок, я могу открыть оба файла и обновить ссылки примерно за 10 секунд.
Почему отдельные книги улучшают производительность? Можно ли добиться такой же производительности в одной книге?
РЕДАКТИРОВАТЬ: Санитарно-гигиенические книги можно найти здесь: https://drive.google.com/drive/folders/0Bz0YVEO1u0jOaGtpS1ZnR3kzRWc?usp=sharing Model1.xlsb и Model2.xlsb являются разделенными файлами. Чтобы создать Model1and2.xlsb, все, что я сделал, это переместил два листа из Model2 в Model1.
РЕДАКТИРОВАТЬ 2: Настройка Workbook.ForceFullCalculation=TRUE
решает эту проблему. Это определенно связано со временем загрузки дерева зависимостей. Я добавил Model1and2-ForceFullCalculation.xlsb в общую папку для демонстрации.