TGViewer
Google Таблицы Google Таблицы @google_sheets · 60.2K subscribers
Post #1074 12.9K
Оглавление Таблицы скриптами

Друзья, привет!

В первом посте 2023 года решим классическую проблему – выведем список всех листов Таблицы вместе с ссылками на каждый лист.

Базовый скрипт.
function sheets() {
//текущая таблица
const ss = SpreadsheetApp.getActive();

//определяем ссылку на текущую таблицу
const ssUrl = ss.getUrl();

//проходим по всем листам Таблицы в цикле и формируем массив [ссылка на лист, название листа]
return ss.getSheets().map(sheet =>
[`${ssUrl}#gid=${sheet.getSheetId()}`, sheet.getName()]);
}


Скрипт будет работать как пользовательская функция, просто вставьте =sheets() на лист в любую ячейку, как на скриншоте.

Хак, чтобы оглавление, которое выводится обновлялось почаще – передаём в функцию любой аргумент из листа, =sheets(k1), например.

Вставляем оглавление как значения при открытии Таблицы.
Добавляем код ниже.
function onOpen() {
const arr = sheets();
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('оглавление') || ss.insertSheet('оглавление');
sh.clearContents();
sh.getRange(1, 1, arr.length, arr[0].length).setValues(arr);
}


Вставляем оглавление гиперссылками (будет один столбец) при открытии Таблицы
function onOpen() {
const arr = sheets().map(f => [SpreadsheetApp.newRichTextValue()
.setText(f[1])
.setLinkUrl(f[0])
.build()]);

const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('оглавление') || ss.insertSheet('оглавление');
sh.clearContents();
sh.getRange(1, 1, arr.length, arr[0].length).setRichTextValues(arr);
}
  • 👍 18
  • 🔥 13
  • 🤬 1
  • 🎉 1
More from @google_sheets
  1. Oct 7, 2026💡13 умных шаблонов Google-Таблиц, которые сделают вашу работу легче и эффективнее. Для бу…
  2. Oct 6, 2026спасибо тебе, Марина, за классный кейс для реализации!
  3. Oct 6, 2026PS Оцените наш выводок :) У каждой собачки свой лист, свой баланс и своя история прогулок.…
  4. Oct 6, 2026Часть 2. Считаем зарплату выгульщиков и "баланс" по собачке Итак, у нас есть выгрузка из A…
  5. Oct 6, 2026Часть 1. Приложение для выгульщиков Упомяну, что всего этого не случилось бы без прекрасно…
  6. Oct 2, 2026Скоро расскажем, как мы создали систему для dog walker в Петербурге 🐕 Люди гуляют с собак…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →