В Excel 2016 у меня есть книга с двумя вкладками -

  • Active_Directory_Locations
  • SuperTab

В SuberTab я использую следующую формулу, скопированную в ячейки A5-A1000 -

=IF(OR(Active_Directory_Locations!$D5 = "Totals", Active_Directory_Locations!$D5 = ""), "", Active_Directory_Locations!$D5)

Эта формула работает хорошо, однако, если строка вставляется в Active_Directory_Locations, формулы в SuperTab обновляются и пропускают эту новую строку.

Например, если ссылки на ячейки D5 , D6 и D7 указаны и я должен был вставить строку о строке 6 на вкладке Active_Directory_Locations , эти ссылки изменились бы на D5 , D7 и D8 , пропуская, таким образом, новую строку.

Могу ли я в любом случае изменить свою формулу, чтобы этого не случилось?

1 ответ1

2

Если вы никогда не хотите значение Active_Directory_Locations!$D5 чтобы изменить то, что должно сработать, это функция INDIRECT которая вычисляет строковое значение для ссылки на ячейку во время вычисления ячейки.

Попробуйте заменить все ссылки

Active_Directory_Locations!$D5

С

INDIRECT("Active_Directory_Locations!$D5")

Поскольку ваше местоположение ячейки теперь является строковым значением, Excel должен воздерживаться от автоматического обновления ссылок на ячейки.

Если вам нужно, чтобы он был динамическим, вы можете объединить его с INDEX и CONCATENATE, чтобы построить ссылку на ячейку и использовать косвенную для ее оценки.

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