4

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

Скажем, в столбцах AH есть данные. Столбец H устанавливается на основе отношений между значениями в столбцах A, B и C, которые динамически изменяются из внешней программы. Пользователи вводят данные в столбец F. Формулы в D & E рассчитывают отношения между F & H и H & D соответственно.

Как Excel управляет формулами в том случае, если, например, они зависят от данных, находящихся дальше на листе? Будет ли доступно мое значение в H при первом вычислении формул в D & E? или D & E будет рассчитывать на основе старого значения для H, потому что обновление H еще не произошло?

Есть ли какие-либо преимущества, которые можно получить, разместив зависимости в отдельных строках или столбцах таблицы? Обрабатываются ли позиции выше и слева текущей позиции раньше, чем внизу и справа?

2 ответа2

7

Excel вычисляет ячейки по направлению к верхней левой части листа, а затем обрабатывает ячейки по направлению к нижней правой части. Так что да, позиционирование ваших формул на основе их зависимостей имеет значение. На изображении ниже лист B вычисляется быстрее, чем A.

(Источник: Excel медленно реагирует - предотвращение ошибок, из-за которых Excel замедляется при сканировании)

Если вам нужно немного легкого чтения, я предлагаю следующие статьи:

0

Обычно, когда Excel замедляется во время редактирования, это происходит из-за изменчивых ячеек, которые имеют много зависимостей, и, следовательно, зависимости и их зависимости также становятся изменчивыми, и ВСЕ пересчитывается, когда выполняется редактирование. Вы можете попробовать профилировщик в надстройке FormulaDesk для отслеживания всех энергозависимых ячеек и их скорости вычислений.

Отказ от ответственности: FormulaDesk это мой продукт

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .