Имя листа в формуле Exsel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
KZRV
Сообщения: 4
Зарегистрирован: 09 апр 2008, 16:08

Наболевшее. Если кратко:
В формуле используется ссылка на ячейку которая состоит из имени листа и координат ячейки на этом листе.
Например
=Лист1!A5*Лист2!A3*Лист3!G2
Вопрос:
каким образом, если это конечно возможно, вместо имени листа использовать результаты другой формулы, например выбирать из какого-то списка имен листов?
Спасибо.
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

ен-то предположение....
--------------------------------------
d3 =ИНДЕКС(СписокИменЛистов;1)
d4 =ДВССЫЛ(d3)

А в чем наболевшее-то?
KZRV
Сообщения: 4
Зарегистрирован: 09 апр 2008, 16:08

Avsha писал(а):ен-то предположение....
--------------------------------------
d3 =ИНДЕКС(СписокИменЛистов;1)
d4 =ДВССЫЛ(d3)

А в чем наболевшее-то?


Каким образом будет выглядеть конечная формула? Вместо Лист1 что писать?
в этой формуле?
=Лист1!A5*Лист2!A3*Лист3!G2

а наболевшее, когда для итогов используются результаты с сотен листов... хочется автоматизации...
Dim_ok
Сообщения: 51
Зарегистрирован: 03 июл 2007, 09:17

Можно через Вставка-Имя-Присвоить имена Вашим ячейкам с листов, содержащих формулы, только чем это вам поможет? Разве что будете писать сразу в нужной ячеке
Имя1*Имя2*Имя3 и т.д.
Может всю задачу изложите?
KZRV
Сообщения: 4
Зарегистрирован: 09 апр 2008, 16:08

Зачем мне кого-то напрягать своими задачами?
Постараюсь еще упростить вопрос, как говорится, на примерах:
Есть формула
= 5*6
Если вместо 5 брать значение из ячейки Лист1!А1, то формула будет выглядеть так:
=Лист1!А1*6
Теперь вопрос, по аналогии: какой синтаксис будет во второй формуле, если вместо имени_листа (Лист1) нужно писать ... формулу(?)..ссылку(?).. где это имя_листа находится (например из списка имен_листов).
Возможно ли это? неужели непонятен вопрос?
Avsha
Сообщения: 665
Зарегистрирован: 08 сен 2005, 13:47
Откуда: KZ

У меня такой вариант получился...

=ДВССЫЛ(СЦЕПИТЬ(ИНДЕКС(Massiv;1);"!A5"))*ДВССЫЛ(СЦЕПИТЬ(ИНДЕКС(Massiv;2);"!A3"))*ДВССЫЛ(СЦЕПИТЬ(ИНДЕКС(Massiv;3);"!G2"))
=ДВССЫЛ(ИНДЕКС(Massiv;1)&"!A5")*ДВССЫЛ(ИНДЕКС(Massiv;2)&"!A3")*ДВССЫЛ(ИНДЕКС(Massiv;3)&"!G2")

Massiv - это именованный диапазон со списком листов вашей книги
KZRV
Сообщения: 4
Зарегистрирован: 09 апр 2008, 16:08

Avsha писал(а):У меня такой вариант получился...
=ДВССЫЛ(СЦЕПИТЬ(ИНДЕКС(Massiv;1);"!A5"))*ДВССЫЛ(СЦЕПИТЬ(ИНДЕКС(Massiv;2);"!A3"))*ДВССЫЛ(СЦЕПИТЬ(ИНДЕКС(Massiv;3);"!G2"))

Отлично! а можно файлик с примером? ;)
Ответить