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 
  • Возвращать содержимое ячейки на основе местоположения другой ячейки
  • excel, получить номер из 1 таблицы и сумму, основанную на критериях в 2-м
  • $ в функции SUMIF не понят
  • Вычисление времени: функция Mod не работает по желанию, если секунды превышают 100
  • Формула Excel - вычисление среднего времени для всех последних времен за каждый день
  • Использование конкатенации и декодирования в excel
  • Требуется двунаправленная (или это HLookup) формула
  • перечислить различные значения в excel
  • Нужна помощь с запросом отфильтрованных ячеек Excel 2010
  • Объедините вычисления VLOOKUP и SUMIFS в одну ячейку
  • Какова цель префикса + в формулах excel, in-cell?
  • Давайте будем гением компьютера.