Для использования названия листа в формуле с помощью скрипта в Google Apps Script можно использовать метод getSheetByName(name), который позволяет получить объект листа по его имени. Например, если у вас есть лист с именем "Данные" и вы хотите использовать его название в формуле на листе "Отчет", то можно сделать это так:
```javascript
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName("Данные");
var reportSheet = ss.getSheetByName("Отчет");
var dataSheetName = dataSheet.getName();
// Пример использования названия листа в формуле на листе "Отчет"
reportSheet.getRange('A1').setFormula('=INDIRECT("' + dataSheetName + '" & "!A1")');
}
```
Чтобы улучшить скрипт для создания нового листа и автоматического переименования его в соответствии с введенным оператором названием, а также вставки этого названия в формулу на листе "Отчет", можно модифицировать функцию `new()` следующим образом:
```javascript
function new(sheetName) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = ss.getSheetByName("Шаблон");
var newSheet = templateSheet.copyTo(ss);
newSheet.setName(sheetName);
var reportSheet = ss.getSheetByName("Отчет");
var sheetNameCell = reportSheet.getRange('A1');
sheetNameCell.setValue(sheetName);
reportSheet.getRange('A2').setFormula('=INDIRECT("' + sheetName + '" & "!A1")');
}
```
После введения названия нового листа в ячейку A1 на листе "Отчет", нужно запустить функцию `new()` и передать в нее введенное название листа. Это приведет к созданию копии листа "Шаблон", переименованию его введенным названием и вставке этого названия в формулу на листе "Отчет".