risposta

16

Questo viene eseguito utilizzando setFormula per una cella selezionata. Di seguito è riportato un esempio di come farlo.

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

var cell = sheet.getRange("B5"); 
cell.setFormula("=SUM(B3:B4)"); 

È inoltre possibile utilizzare per creare formule setFormulaR1C1 notazione R1C1. Esempio di seguito.

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])"); 

Per aggiungere più formule a diversi campi utilizzare setFormulas. Esempio sotto

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); 
+0

Per informazioni, questa è una pessima risposta ... non ho idea del motivo per cui è stata accettata e votata. Fare riferimento alla documentazione per vedere come ottenere un intervallo, setFormula è un metodo di intervallo (ed è stato così anche nel 2012 :-) –

+6

@Sergeinsas, per favore pubblica il tuo metodo allora –

+0

Penso che setFormula funzioni, ma sono d'accordo che come usarlo dovrebbe essere descritto meglio nella risposta invece di concentrarsi su come selezionare la cella. –

Problemi correlati