Страницы: 1
RSS
Получить имя листа из ячейки и использовать при выборе данных
 
Добрый день!
При построении всевозможных графиков, для выбора данных используются формулы навроде:
Код
 =РЯД("Верхний предел";'стандарт'!$A$24:$A$912;'стандарт'!$O$24:$O$912;6)

Понятно что 'стандарт' это имя листа. При появлении стандарта1 приходится вручную изменять имя листа во всех формулах (их больше 30).

Можно ли вместо 'стандарт' прописать путь к ячейке, в которой будет находиться значение имени листа, чтобы это имя автоматически вставлялось вместо ;'стандарт' по всем формулам?

Вероятно как-то можно применить ДВССЫЛ: https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=37333
 
Цитата
taxol написал:
При появлении стандарта1 приходится вручную изменять имя листа во всех формулах
полагаю вам может помочь АДРЕС(), поизучайте синтаксис, например тут https://my-excel.ru/formuly/excel-adres-jachejki-formuloj.html  
чтоб дело мастера боялось, он знает много страшных слов.
 
taxol, здравствуйте
=ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("]";ЯЧЕЙКА("filename";A2))+1;31) (КАК ПОЛУЧИТЬ ИМЯ ЛИСТА ФОРМУЛОЙ)
При вставке ссылки на ячейку вместо имени листа, использовать =ДВССЫЛ(Ячейка&"!"&АдресНаЛисте)
Изменено: Jack Famous - 02.03.2021 09:25:02
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Большое спасибо. Таким образом, если имя листа записано в ячейке AB2, получится...
было:
Код
=РЯД("Верхний предел";'стандарт'!$A$24:$A$912;'стандарт'!$O$24:$O$912;6)

стало:
Код
=РЯД("Верхний предел";ДВССЫЛ(AB&"!"&2)!$A$24:$A$912;ДВССЫЛ(AB&"!"&2)!$O$24:$O$912;6)
 
Цитата
taxol: ДВССЫЛ(AB&"!"&2)!$A$24:$A$912
и как - работает?  :D
Написал ведь, как надо:
Цитата
Jack Famous: =ДВССЫЛ(Ячейка&"!"&АдресНаЛисте)
ячейка: "AB2", адрес: "$A$24:$A$912" — значит надо =ДВССЫЛ(AB2 &"!$A$24:$A$912")
Скрин
Изменено: Jack Famous - 03.03.2021 09:40:19
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
В прикрепленном примере во вкладке "результат" используется формула =РЯД("Верхний предел действия";лист1!$A$24:$A$912;лист1!$O$24:$O$912;1)
Хотелось бы чтобы формула использовала имя листа (лист1, лист2...) из ячейки AB2. Не пойму в чем ошибка, все перепробовал.

Вариант:
=РЯД("Верхний предел действия";ДВССЫЛ(AB2&"!"&$A$24:$A$912);ДВССЫЛ(AB2&"!"&$O$24:$O$912);1)
не работает

Ума не приложу, почему не получается. Вопрос для меня чрезвычайно важный, прошу не закидывать камнями) Всех благодарю за содействие.
Изменено: taxol - 03.03.2021 07:36:33
 
=ДВССЫЛ(AB2 &"!$A$24:$A$912") — диапазон вместе с восклицательным знаком перед ним должен быть в кавычках
Изменено: Jack Famous - 03.03.2021 09:41:44
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Благодарю за ответ!
Утром я использовал предложенный вариант:
=РЯД("Верхний предел действия"; ДВССЫЛ(AB2 &"!$A$24:$A$912); ДВССЫЛ(AB2 &"!$O$24:$O$912);1)
Однако все равно выходит "неверная функция"
Но если Вы намекаете на знак равенства, то изначально вызывается функция "РЯД", тут "ДВССЫЛ" придется использовать внутри процедуры, как например в варианте из https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=37333 =ВПР(A:A;ДВССЫЛ("'[" & A1 & "]" & A2 & "'!$A:$B");2;0) где "ДВССЫЛ" вызывается внутри "ВПР".
Изменено: taxol - 03.03.2021 09:37:29
 
Цитата
taxol: Утром я использовал предложенный вариант:
мой косяк - забыл кавычки закрыть (см. пост выше)
Если не поможет, то сделайте, наконец, нормальный пример с функцией =РЯД() и без всего остального
Изменено: Jack Famous - 03.03.2021 09:44:22
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
К сожалению вариант не работает, как Вы и просили, переделал пример с функцией "=РЯД()" Переменная - "лист1" или "лист3" должна располагаться в AB2. Ожидаемый результат - горизонтальная линия в области построения на уровне 1,5 (лист1) или 2(лист3)
За решение, однозначно,донат.
Изменено: taxol - 03.03.2021 11:20:38
 
Если мне не изменяет мой склероз, то ДВССЫЛ вообще не очень охотно с диаграммами работает. Или они с ней, неважно. Поэтому не уверен, что в данном случае можно с её помощью получить корректное решение без макросов.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
taxol: переделал пример с функцией "=РЯД()"
не нашёл
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
не нашёл
*во вложении

Как оказалось, функция "ряд()" не является стандартной функцией листа и поэтому невозможно использовать сторонние функции в качестве аргументов. А макросы в данном конкретном случае использовать нежелательно.
Если кому-то понадобится, в приложении "пример3", в нем мое решение: выбираем на вкладке "результат" выпадающим списком нужный лист, функция "ДВССЫЛ" переносит необходимые данные для формирования таблицы на вкладку "доплист", после чего в "результате" наблюдаем нужный график.
Изменено: taxol - 04.03.2021 05:14:44
 
Цитата
taxol: функция "ряд()" не является стандартной функцией листа и поэтому невозможно использовать сторонние функции в качестве аргументов … функция "ДВССЫЛ" переносит необходимые данные
хорошее решение  :idea:
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх