Dokonuje się tego przy użyciu setFormula dla wybranej komórki. Poniżej znajduje się przykład tego, jak to zrobić.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B5");
cell.setFormula("=SUM(B3:B4)");
Można również użyć setFormulaR1C1, aby utworzyć formuły zapisu R1C1. Przykład poniżej.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B5");
// This sets the formula to be the sum of the 3 rows above B5
cell.setFormulaR1C1("=SUM(R[-3]C[0]:R[-1]C[0])");
Aby dodać kilka formuł do kilku pól, należy użyć setFormulas. Przykład poniżej:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// This sets the formulas to be a row of sums, followed by a row of averages right below.
// The size of the two-dimensional array must match the size of the range.
var formulas = [
["=SUM(B2:B4)", "=SUM(C2:C4)", "=SUM(D2:D4)"],
["=AVERAGE(B2:B4)", "=AVERAGE(C2:C4)", "=AVERAGE(D2:D4)"]
];
var cell = sheet.getRange("B5:D6");
cell.setFormulas(formulas);
Informacja jest bardzo złą odpowiedzią ... nie mam pojęcia, dlaczego została przyjęta i poddana pod głosowanie. Zapoznaj się z dokumentacją, aby zobaczyć, jak uzyskać zasięg, setFormula jest metodą zasięgu (i tak było również w 2012 roku :-) –
@Sergeinsas proszę zaksięguj swoją metodę następnie –
Myślę setFormula działa, ale zgadzam się, że jak go używać powinien lepiej opisać odpowiedź, zamiast skupiać się na wybieraniu komórki. –