Форум поддержки пользователей LibreOffice, Apache OpenOffice

Главная категория => Calc => Тема начата: Shahtynec от 15 ноября 2015, 10:20

Название: Как ссылаться на другой лист не на прямую, а через название листа в ячейке?
Отправлено: Shahtynec от 15 ноября 2015, 10:20
В принципе вопрос в названии темы. Смысл в том, что в файле много листов, а на самом первом листе ссылки на ячеки других листов. Формулы сложные, иногда название листа повторяется по 6 раз в одной формуле. При создании нового листа приходится искать в формуле все ссылки и переписывать их. Было бы здорово, если бы в формуле вместо ссылок на листы были бы динамические ссылки на ячейки, в которых прописаны имена листов, и эти имена подтягивались и тогда уже формула обращалась к другому листу. Возможно ли это реализовать? В файле пример с простейшими ссылками.
Название: Re: Как ссылаться на другой лист не на прямую, а через название листа в ячейке?
Отправлено: rami от 15 ноября 2015, 11:28
Цитата: Shahtynec от 15 ноября 2015, 08:20В принципе вопрос в названии темы. Смысл в том, что в файле много листов, а на самом первом листе ссылки на ячеки других листов. Формулы сложные, иногда название листа повторяется по 6 раз в одной формуле. При создании нового листа приходится искать в формуле все ссылки и переписывать их. Было бы здорово, если бы в формуле вместо ссылок на листы были бы динамические ссылки на ячейки, в которых прописаны имена листов, и эти имена подтягивались и тогда уже формула обращалась к другому листу. Возможно ли это реализовать? В файле пример с простейшими ссылками.
Если я правильно понял вопрос, то нужно использовать функцию INDIRECT(), а в ячейке А1 сделать выпадающий список названий листов, см. пример:
Название: Re: Как ссылаться на другой лист не на прямую, а через название листа в ячейке?
Отправлено: Shahtynec от 17 ноября 2015, 04:39
Ну ты голова! Выподающий список  - вообще классная идея! Спасибо.
Название: Re: Как ссылаться на другой лист не на прямую, а через название листа в ячейке?
Отправлено: useb64 от 14 февраля 2017, 16:21
добрый день,

sheet() - номер текущего листа
sheet("Лист2") - номер Листа2
...

есть ли функция "обратная" функции sheet(), которая выдает имя листа по его номеру, например:

ИмяЛиста() = наименование текущего листа
ИмяЛиста(1) = "Лист1"
ИмяЛиста(2) = "Лист2"
...
ИмяЛиста() - искомая функция

с уважением