Как Определить Название Листа в Excel • Создание колонтитулов

Есть ли формула Google Таблиц, чтобы поместить имя листа в ячейку?

enter image description here

У вас есть 2 варианта, и я не уверен, что я поклонник их увядания, но это мое мнение. Вы можете чувствовать себя иначе:

Вариант 1: принудительно запустить функцию.

Функция в ячейке не запускается, если она не ссылается на ячейку, которая изменилась. Изменение имени листа не вызывает никаких функций в электронной таблице. Но мы можем заставить эту функцию работать, передавая ей диапазон, и всякий раз, когда элемент в этом диапазоне изменяется, функция запускается.

Вы можете использовать приведенный ниже скрипт для создания пользовательской функции, которая будет получать имя:

Вариант 2: использовать событие OnChange

Событие OnChange запускается при изменении имени листа. Вы можете сделать код ниже более сложным, чтобы проверить наличие ошибок, проверить, что идентификатор листа работает только на заданном листе и т.д. Однако основной код:

После того, как вы сохранили код, в редакторе сценариев установите эту функцию в текущую версию Project On Change Trigger. Он будет записывать имя листа в ячейку K1 в любом событии изменения. Чтобы установить триггер, выберите ” Текущие триггеры проекта” в меню ” Правка”.

Чтобы получить текущее имя листа в листах Google, следующий простой сценарий может помочь вам без ввода имени вручную, выполните следующие действия:

В открывшемся окне проекта скопируйте и вставьте приведенный ниже код скрипта в пустое окно кода, см. Скриншот:

Затем сохраните окно кода и вернитесь к листу, для которого вы хотите получить его имя, затем введите =sheetname() формулу: =sheetname() в ячейку и нажмите клавишу Enter, имя листа будет отображаться сразу.

Если вы ссылаетесь на лист с другого листа, вы можете получить имя листа с помощью функции CELL. Затем вы можете использовать регулярные выражения, чтобы извлечь имя листа.

обновление: формула автоматически обновит “ИМЯ ЛИСТА” с будущими изменениями, но вам нужно будет ссылаться на ячейку (например, А1) на этом листе при первоначальном вводе формулы.

Вот мое предложение для скрипта, который возвращает имя листа с его позиции в списке листов в параметре. Если параметр не указан, возвращается имя текущего листа.

Затем вы можете использовать его в ячейке, как любая функция

Как описано в других ответах, вам нужно добавить этот код в скрипт с:

У меня есть лист, предназначенный для использования другими, и у меня довольно много косвенных() ссылок, поэтому мне нужно формально обрабатывать измененное имя вкладки листа.

Я использовал формулу из JohnP2 (ниже), но у меня возникли проблемы, потому что она не обновлялась автоматически при изменении имени листа. Вам нужно перейти к фактической формуле, внести произвольные изменения и обновить, чтобы запустить ее снова.

Я решил это с помощью информации, найденной в этом решении, о том, как заставить функцию обновляться. Возможно, это не самое элегантное решение, но оно заставило Sheets обратить внимание на эту ячейку и регулярно обновлять ее, чтобы она уловила обновленный заголовок листа.

Благодаря этому Sheets знает, что нужно обновлять эту ячейку каждый раз, когда вы вносите изменение, в результате чего адрес обновляется всякий раз, когда пользователь переименовывает его.

Старый поток, но полезный… так что здесь дополнительный код.

Во-первых, в ответ на замечание Крейга о том, что регулярное выражение является чрезмерно жадным и не подходит для имен листов, содержащих одну кавычку, это должно сработать (замените “SHEETNAME”! A1 своим собственным листом и ссылкой на ячейку):

Формула также учитывает имена листов, которые содержат челки (“!”), Но не будут работать с именами, использующими доллары взрыва (“! $”) – если вам действительно нужно, чтобы имена ваших листов выглядели как полные абсолютные ссылки на ячейки, поместите разделяющий символ между ударом и долларом (например, пробел).

Как уже много раз говорили выше, Google Sheets заметит изменения в названии листа только в том случае, если вы установите перерасчет рабочей книги на “При изменении и каждую минуту”, который можно найти в меню “Файл | Настройки | Расчет”. Изменение может занять до целой минуты.

Во-вторых, если вам, как и мне, вам нужна совместимая формула, которая работает как в Google Sheets, так и в Excel (которая, по крайней мере, для более старых версий не имеет функции REGEXREPLACE), попробуйте:

При этом используется INFO (“релиз”), чтобы определить, на какой платформе мы работаем… Excel возвращает число> 0, тогда как в Google Sheets не реализована функция INFO, и генерируется ошибка, которая выводится формулой в 0 и используется для численного сравнения. Ветка кода Google такая же, как и выше.

Для ясности и полноты, это Excel-только версии (что правильно возвращает имя листа он находится на):

Этот код работает очень хорошо для меня, но если в любом случае он возвращает все имена листов без ссылки на номер листа, я буду очень признателен, если вы поможете мне с этим.

Я получил это, чтобы наконец-то работать в полуавтоматическом режиме без использования сценариев… но для его выполнения требуется 3 ячейки. Заимствуя немного из предыдущих ответов, я начинаю с ячейки, в которой нет ничего, кроме = NOW(), чтобы показать время. Например, мы поместим это в ячейку A1…

Эта функция обновляется автоматически каждую минуту. В следующую ячейку поместите формулу указателя, используя собственное имя листов, чтобы указать на предыдущую ячейку. Например, мы поместим это в A2…

Помимо форматирования ячеек, ячейки A1 и A2 должны в этот момент отображать одинаковое содержимое… а именно текущее время.

И последняя ячейка – это часть, которую я заимствовал из предыдущих решений, используя выражение регулярного выражения, чтобы извлечь формулу из второй ячейки, а затем вычеркнуть имя листа из указанной формулы. Например, мы поместим это в ячейку A3…

На этом этапе результирующее значение, отображаемое в A3, должно быть именем листа.

По моему опыту, как только название листа меняется, формула в А2 сразу обновляется. Однако этого недостаточно для запуска обновления A3. Но каждую минуту, когда ячейка A1 пересчитывает время, результат формулы в ячейке A2 впоследствии обновляется, а затем, в свою очередь, запускает A3 для обновления с новым именем листа. Это не компактное решение… но, похоже, оно работает.

[expert_bq id=»1570″]Есть еще один способ использования пользовательских представлений, но он имеет ограничения, если вы используете таблицы Excel а я люблю таблицы. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Вкладка Hound также содержит дополнительные способы фильтрации списка листов. Вы можете ввести поиск в поле поиска, отфильтровать все видимые или скрытые вкладки и даже отфильтровать по цвету вкладок. Это позволяет легко находить листы, которые вы ищете, а затем выполнять над ними такие действия, как скрытие / скрытие.
Поле редактирования имени

Как получить имя листа в Google Таблицах (формула)

Самый быстрый способ сделать все листы видимыми в Excel — это использовать макрос (VBA). В следующей строке кода VBA цикл For Next Loop используется для циклического просмотра каждого листа в активной книге и отображения каждого листа.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: