Excel: замените INDIRECT (), чтобы динамически ссылаться на рабочие листы

У меня есть лист с множеством функций INDIRECT (), чтобы извлекать данные из других листов в одной книге. Что-то вроде

=INDIRECT(SheetName&"!A1") 

Я понял, что INDIRECT () является энергозависимой функцией, поэтому она пересчитывается каждый раз, когда любые изменения производятся в любой книге. Это делает Excel очень медленным, особенно когда открыто несколько книг.

Есть ли какая-либо другая функция, которая может заменить INDIRECT () для поиска с динамическим именем листа?

Лиза: Вы можете использовать CHOOSE в сочетании с поисковой таблицей, чтобы заменить INDIRECT. См. Скриншот в ответе на этот вопрос: Excel Vlookup с ссылкой на ячейку

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

  • Поворот автоматических вычислений (сильно не рекомендуется)
  • Создайте функцию UDF, которая по умолчанию является энергонезависимой:

 Public Function IndirectNotVolatile(sheetName As String, sheetRange As Range) as Variant Set IndirectNotVolatile = Worksheets(sheetName).Range(sheetRange.Address) End Function 
  • Линейная интерполяция дает ошибку при определенных входных значениях от 70% до 80%
  • Нужна формула для excel, чтобы вычесть число «9» на каждый номер индивидуально и
  • Excell IF (ISBLANK), но все еще получая -42716
  • Удельный расчет сверхурочных
  • Получите значение ячейки, но пропустите строку, если это неправильно
  • Excel пустая строка копирует / вставляет значения в непустую ячейку
  • Формула Excel для преобразования даты времени EST в дату IST?
  • Записывать результаты ячейки Excel косвенно под номером рандона. Я хочу отслеживать только отрицательные значения. Их можно поместить в любом порядке
  • Формула Excel для: если совпадение, то вставьте
  • база данных сравнения excel по фиксированной величине
  • Добавление нескольких SUMIF
  • Давайте будем гением компьютера.