Использование «переменной» в Excel - PullRequest
0 голосов
/ 12 ноября 2018

У меня довольно большой Excel с большим количеством данных, распределенных по нескольким листам. Так что мне интересно, если они в любом случае заставить клетку действовать как переменная. Не совсем уверен, как это объяснить.

Допустим, у меня есть матрица в Sheet3 , которая берется из A1: D20 , и я не хочу использовать эту матрицу в формуле VLOOKUP в Лист1 .

Тогда я должен был бы написать =VLOOKUP(A1;'Sheet3'!A1:D20;2;FALSE)

Можно ли вместо этого сделать ячейку в Sheet1 , ссылающуюся на эту матрицу? Например, если я поставлю = 'Sheet3'! A1: D20 в C1 , чтобы мне нужно было только написать =VLOOKUP(A1;C1;2;FALSE)

Я пытался найти ответ на этот вопрос, но безуспешно. Так что теперь мне просто интересно, возможно ли это вообще.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Вы ищете функцию Indirect() листа. Косвенное определение выглядит следующим образом:

Возвращает ссылку , заданную текстовой строкой .

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

По сути, допустим, ваша ячейка C1 содержала текстовую ссылку: Sheet1!A1:D20.Затем вы можете использовать формулу Indirect(), чтобы получить эту ссылку следующим образом:

=INDIRECT($C$1)

Вы также можете создать динамически именованный диапазон .Вы можете получить доступ к этому меню:

Вкладка формулы> Диспетчер имен> Новый

Вы можете назвать этот диапазон любым именем, которое еще не зарезервировано Excel, поэтому в этомНапример, мы назовем его lookupRng.

Вы можете сделать это изменение динамически - например, когда число строк в вашем диапазоне изменяется, используя что-то вроде:

=OFFSET(Sheet3!$A$1:$D$1,0,0,COUNTA(Sheet3!$A:$A),1)

Какиеможно назвать, делая: =VLOOKUP(A1;lookupRng;2;FALSE)

0 голосов
/ 12 ноября 2018

Поможет ли присвоение имен Range?

Выберите желаемый диапазон и присвойте ему имя, например: «Матрица» в поле имени, как показано на рисунке ниже.

enter image description here

Тогда вы можете использовать это имя в формуле VLOOKUP.

=VLOOKUP(A1;Matrix;2;FALSE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...