apps-script-utils (Українська) 2.1.1 Help

updateFormulas

function updateFormulas( target: GoogleAppsScript.Spreadsheet.Sheet | GoogleAppsScript.Spreadsheet.Range, rewrite: FormulaTransformer | Record<string, string> ): number;

Передайте словник, щоб замінити імена аркушів цілком — звична потреба після перейменування чи копіювання, — або функцію, щоб вирішувати щодо кожної формули окремо. Функція отримує формулу й повертає ту, яку треба записати.

Обходяться лише комірки з формулами, а записуються лише ті, що справді змінилися, тому виклик без змін коштує одного читання й нічого більше.

Аркуш означає весь його діапазон даних; діапазон — лише свої клітинки, тож переписування можна обмежити одним блоком. Рядок і стовпець, які отримує перетворювач, в обох випадках — позиції на аркуші, завдяки чому адреса самої формули придатна для підстановки.

Параметри

Параметр

Тип

Опис

target

GoogleAppsScript.Spreadsheet.Sheet \| GoogleAppsScript.Spreadsheet.Range

Аркуш, формули якого переписуємо, або діапазон, усередині якого переписуємо: читаються й пишуться лише його клітинки.

rewrite

FormulaTransformer \| Record<string, string>

Словник «стара назва аркуша → нова» або функція, що приймає формулу й повертає заміну.

Повертає

number — скільки формул було переписано.

Винятки

Виняток

Умова

InvalidSheetException

перший аргумент не є ні аркушем, ні діапазоном.

Приклади

Переписування формул

const sheet = SpreadsheetApp.getActiveSheet(); // After renaming a sheet, point the formulas at the new name. updateFormulas(sheet, { Sheet1: "Data" }); updateFormulas(sheet, (formula) => formula.replace(/OLD_/g, "NEW_"));

Усередині одного блоку

const sheet = SpreadsheetApp.getActiveSheet(); // Only the formulas in D2:D100 are rewritten. updateFormulas(sheet.getRange("D2:D100"), { "=SUM(A2:A)": "=SUM(A2:A1000)" });

Дивіться також

Вихідний код

src/appsscript/sheet/updateFormulas.ts

23 September 2026

Цю документацію згенеровано нейромережею (Claude) на основі вихідного коду бібліотеки.