Многие формулы (пример - IMPORTRANGE, QUERY) содержат в себе имя листа типа "Лист1". Понятно, что они "слетают", если лист переименовать.
Подскажите, пожалуйста, как можно обойти эту проблему? Можно ли запретить изменять только имя листа? Или как указывать ссылку на лист формуле (ведь у каждого листа есть номер, который виден в URL)? Можно ли это сделать без скриптов? Если "без", то как? (Скрипты пока не освоил).
Заранее спасибо за ответ. С уважением,
Добрый день!
Многие формулы (пример - IMPORTRANGE, QUERY) содержат в себе имя листа типа "Лист1". Понятно, что они "слетают", если лист переименовать.
Подскажите, пожалуйста, как можно обойти эту проблему? Можно ли запретить изменять только имя листа? Или как указывать ссылку на лист формуле (ведь у каждого листа есть номер, который виден в URL)? Можно ли это сделать без скриптов? Если "без", то как? (Скрипты пока не освоил).
В случае QUERY можно попробовать получить имя листа как-то так через функцию CELL: [vba]
Код
=INDEX(SPLIT(CELL("address";'Лист4'!A1);"'");1)
[/vba] Но учтите, что CELL пересчитывается как-то не очень, и возможно ее придётся "теребить" для пересчета (типа добавить &"", а потом убрать).
В случае IMPORTRANGE - всё глухо. Там всё текстовое и Вы, увы, не можете получить аналогичный, как у QUERY, доступ к ячейке другого табличного файла.
В случае QUERY можно попробовать получить имя листа как-то так через функцию CELL: [vba]
Код
=INDEX(SPLIT(CELL("address";'Лист4'!A1);"'");1)
[/vba] Но учтите, что CELL пересчитывается как-то не очень, и возможно ее придётся "теребить" для пересчета (типа добавить &"", а потом убрать).
В случае IMPORTRANGE - всё глухо. Там всё текстовое и Вы, увы, не можете получить аналогичный, как у QUERY, доступ к ячейке другого табличного файла.Gustav
Но мой уровень, к сожалению, пока, не позволяет мне "с ходу" понять, в чем суть. Эту формулу надо вставить внутри QUERY? И еще - мне надо все делать в одном файле (Гугл Таблице)? Ведь, если выборка идет из другого файла, то без IMPORTRANGE не обойтись. Верно понимаю?
Скорее всего лучше не привязываться к имени листа, а внести это имя ручками в ячейку. И потом ссылаться на нее. Типа ='DataBank'!$F$1.
Вы правы - формула, которую Вы написали автоматически не пересчитывается при изменении имени листа.
Еще раз спасибо.
Gustav, Спасибо за ответ.
Но мой уровень, к сожалению, пока, не позволяет мне "с ходу" понять, в чем суть. Эту формулу надо вставить внутри QUERY? И еще - мне надо все делать в одном файле (Гугл Таблице)? Ведь, если выборка идет из другого файла, то без IMPORTRANGE не обойтись. Верно понимаю?
Скорее всего лучше не привязываться к имени листа, а внести это имя ручками в ячейку. И потом ссылаться на нее. Типа ='DataBank'!$F$1.
Вы правы - формула, которую Вы написали автоматически не пересчитывается при изменении имени листа.