5

У меня есть ячейка в Excel, в которую я хочу получить данные из другой ячейки, которая определена как значение в третьей ячейке.

Например:

A1 = 5
A2 = 10
A3 = вставить синтаксис здесь, используя A4 в качестве источника для ссылки на ячейку
A4 = выбор пользовательского ввода

Если для A4 задано значение "A1", то A3 должен вернуть 5 . Когда A4 установлен на "A2", A3 должен вернуть 10 .

Вышесказанное на самом деле немного упрощено. Что я действительно хочу сделать, так это использовать одну ячейку, чтобы определить, из какого листа извлекать данные, для расчетов, которые будут выполняться в другой ячейке.

Сценарий:

Рабочая книга содержит несколько листов (Sheet1 , Sheet2 , Sheet3 и т.д.), Которые расположены одинаково - значение в 'Sheet1'!A2 представляет ту же информацию, что и значение в 'Sheet2'!A2 . Я хочу построить еще один лист с именем Comparison , который позволит мне легко сравнивать данные между двумя выбранными листами. Этот лист также будет размещен идентично другим, но значения здесь должны быть расчетами разницы между аналогичными значениями в целевых листах. На этом листе также будут две специальные ячейки, которые настроены на проверку данных и раскрывающиеся списки внутри ячеек, что позволяет выбирать для сравнения два других листа по имени.

Допустим, ячейки выбора находятся в A5 и A6.

Дано:

A5 = Sheet5
A6 = Sheet3

Тогда формула в 'Comparison!'A2 должен привести к тому же, что и 'Sheet5'!A2-'Sheet3'!A2 . Если я изменю А6 на "Лист7", то формула должна измениться на 'Sheet5'!A2-'Sheet7'A2 .

Является ли такой вид динамической ссылки на ячейку легко выполнимым (без всякой хрени тонны операторов IF ) в Excel?

1 ответ1

6

Первая часть вашего вопроса может быть решена с помощью функции INDIRECT . Если ячейка A3 содержит эту формулу =INDIRECT(A4) она вернет значение ячейки, указанное в A4.

Вы можете поместить формулу, как это =A5&"!A1" вместе в ячейке A7, а затем используйте оператор INDIRECT для ссылки на A7. Это позволило бы вам изменить только имя листа в A5, но обновило бы всю ссылку на формулу в любой ячейке, в которой оно было.

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