Respuesta

16

Esto se hace usando la setFormula para una célula seleccionada. A continuación hay un ejemplo de cómo hacer esto.

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

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

También se puede utilizar para crear fórmulas setFormulaR1C1 notación R1C1. Ejemplo a continuación.

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

Para agregar varias fórmulas a varios campos, utilice setFormulas. Ejemplo a continuación

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

Para información, esta es una muy mala respuesta ... ni idea de por qué ha sido aceptado y votado. Consulte la documentación para ver cómo conseguir un rango, setFormula es un método gama (y así fue en 2012, así :-) –

+6

@Sergeinsas por favor, puesto que su método continuación –

+0

Creo que funciona setFormula pero estoy de acuerdo que el uso de lo que debería se describa mejor en la respuesta en lugar de centrarse en cómo seleccionar la celda. –

Cuestiones relacionadas