Google Sheets не предлага вградена формула като =SHEETNAME(), която да връща името на текущата страница — а често използвани заобиколни методи като CELL("address", A1) вече не работят надеждно.
В тази статия ще ти покажем правилния и стабилен начин да получиш името на текущия лист чрез Google Apps Script. Ще обясним и как безопасно да използваш това име в URL адреси или API заявки.
❌ Защо CELL("address", A1) не работи
Широко разпространена формула е:
=CELL("address", A1)
Преди връщаше 'SheetName'!A1 в някои инструменти като Excel. Но в Google Sheets връща само:
$A$1
— само адреса на клетката, без името на листа. Това я прави безполезна за динамично извличане на текущото име на листа.
✅ Надеждният начин: използвай проста Apps Script функция
Най-точният и стабилен метод е да добавиш малка персонализирана функция чрез Google Apps Script.
Стъпка по стъпка:
В таба на таблицата отвори Разширения (Extensions) → Apps Script
Изтрий всякакъв примерен код и постави следното:
function MY_BIZ_SHEET_NAME() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}
Натисни Запази или използвай CMD+S (Mac) или CTRL+S (Windows/Linux)
Затвори редактора на скриптове. Избери си кутийка в таблицата и напиши:
=MY_BIZ_SHEET_NAME()
Това ще върне името на текущия лист, независимо дали съдържа интервали, тирета, емоджита и т.н.
Важно: Използвай префикс (напр. MY_BIZ_), за да е ясно, че това е персонализирана функция, а не стандартна.
🔧 Бонус: Използвай името на страницат в линкове/URL (encode)
Ако планираш да използваш името на листа във формула като IMPORTDATA, най-добре е да го закодираш като URL. Google Sheets няма вградена функция ENCODEURL(), но можеш да си я добавиш:
Добави персонализирана функция ENCODEURL
В същия редактор на Apps Script добави това:
function MY_BIZ_ENCODE_URL(input) {
return encodeURIComponent(input);
}
Запази скрипта
Използвай така във своя Google Spreadsheet документ:
=IMPORTDATA("https://example.com/data?sheet=" & MY_BIZ_ENCODE_URL(MY_BIZ_SHEET_NAME()))
Така ще гарантираш, че URL адресът е безопасен, дори ако името на листа съдържа:
интервали (%20)
символи като #, &, /
Юникод или акцентирани букви
Двата скрипта трябва да изглеждат така, както са в примерите горе.

📌 Приложения
Ето къде това е полезно:
- Автоматично етикетиране на справки по името на страницата/листа
- Динамично изграждане на URL за API заявки
- Дебъгване на табла и шаблони
- Показване на текущото име на листа в заглавна клетка
- Зареждане на данни според името на листа, например Report-2025-01, а сървърът може да извлече необходимите данни.
🚀 Финални мисли
Докато Google не въведе официална функция =SHEETNAME(), този подход с Apps Script е най-надежден начин да получиш текущото име на листа в Google Sheets — и да го използваш във формули.
💡 Идеята за тази статия дойде от този въпрос в Stack Overflow https://stackoverflow.com/questions/45502538/is-there-a-google-sheets-formula-to-put-the-name-of-the-sheet-into-a-cell