Modificar datos dentro de una hoja de Cálculo con Google Apps Script

Este ejemplo muestra cómo hacer una operación matemática dentro de una hoja de cálculo con un algoritmo de Google Apps Script.

1_Crear una Spreadsheet (hoja de cálculo) en google drive.
2_Darle un nombre.
3_Ingresar datos como figura en la imagen.


4_A un lado de la hoja de cálculo, crear un archivo de Google Apps Script. (Ver estos pasos en detalle clic aquí)
5_Darle un nombre al script.
6_Programar lo siguiente:




function myFunction() {
  var hojadecalculo = SpreadsheetApp.openById("id-de-la-hoja-de-cálculo-pegar-aqui"); // Abrir por identificador de hoja de cálculo.
  var hoja = hojadecalculo.getSheets(); // Se toma las referencias de hojas dentro de la planilla de cálculo (aunque en este caso hay sólo una).
  var datos = hoja[0].getDataRange().getValues();
  // Se toma la hoja con el índice cero [0],
  //getDataRange() devuelve el rango del Spreadsheet es decir las dimensiones
  //getValues() devuelve los valores, tomando en cuenta las dimensiones que retorno la funcion anterior.
  
  // A continuación se recorre el arreglo de celdas.
  // El for no es un for como se lo conoce normalmente, sino que es un foreach y sirve para iterar sobre clases especiales que implementan algun tipo de iterador.

  for(i in datos){
var fila = datos[i]; // La variable fila toma la variable datos con índice i.
var precio = fila[1]; // Se toma la información de la fila según variable i, y la columna 1 en este caso B.
var cantidad = fila[2]; // Se toma la info de la fila según variable i, y la columna 2 en este caso C.
var total = (precio * cantidad); // Se guarda temporalmente el resultado en la variable total.
    
var iniciofila = 1 + +i; //Guardar los datos iniciando en la fila 2.
    // Para el guardado se necesita hacer referencia a la posición, y además sirve como índice. 
    // Es 1 más el varlo que tenga i
    // Se le pone el signo + a i (+i) para que el algoritmo entienda que debe sumar en vez de concatenar.


hoja[0].getRange(iniciofila, 4).setValue(total); // Guardamos en Columna 4, ver comentario de abajo.
}
  
  /* Por lo que se puede ver en este algoritmo, para tomar la información se usa así: Columna A=0,B=1,C=2,D=3,E=4,F=5 (aquí tomamos los datos de la columna 
  1 y la 2, y dejamos fuera la columna 0 que es la que tiene los datos de texto.
  Para guardar la información se usa Columna A=1,B=2,C=3,D=4,E=5,F=6 (No existe la columna 0), es decir, la que necesitamos es la 4.
  */
  
   SpreadsheetApp.flush(); // Refrezca la hoja de cálculo para evitar errores.
  
}

7_Reemplazar el id de la hoja de cálculo.

ACLARACIÓN:
El id es la cadena de texto en la url, se muestra en el ejemplo lo que está seleccionado.


8_Ejecutar el script y ver las modificaciones en la hoja de cálculo.




En el caso de querer crear el código dentro de la hoja de cálculo (Clic aquí)