Cómo gestionar notas de alumnos en Google Sheets usando Google Apps Script (CRUD completo)

Estructura del Excel (hoja llamada "Notas")

Google Sheets permite automatizar muchas tareas. En este tutorial, te muestro cómo usar Google Apps Script para crear un sistema básico de gestión de notas con funcionalidades CRUD:

  • Crear (Create) nuevos registros

  • Leer (Read) los datos almacenados

  • Actualizar (Update) registros existentes

  • Eliminar (Delete) entradas de la hoja

La hoja de cálculo tendrá esta estructura:

IDNombreAsignaturaNota
1JuanMatemáticas8.5
2AnaHistoria9.00
3LuisCiencias7.00

Leer los datos (Read)

Este fragmento de código recorre la hoja de cálculo y muestra por consola (Logger.log) el contenido de cada fila (menos la cabecera).

				
					function leerNotas() {
  var hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Notas");
  var datos = hoja.getDataRange().getValues();

  for (var i = 1; i < datos.length; i++) { // Saltamos la cabecera
    var id = datos[i][0];
    var nombre = datos[i][1];
    var asignatura = datos[i][2];
    var nota = datos[i][3];

    Logger.log("ID: " + id + ", Alumno: " + nombre + ", Asignatura: " + asignatura + ", Nota: " + nota);
  }
}

				
			

Agregar un nuevo alumno (Create)

Este código añade una nueva fila al final de la hoja con los datos del nuevo alumno. El ID lo puedes definir tú manualmente o hacerlo incremental.

				
					function agregarNota() {
  var hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Notas");

  // Suponemos que el nuevo ID es el número de fila
  var nuevoAlumno = ["4", "Pedro", "Inglés", 8.2];

  hoja.appendRow(nuevoAlumno);
  Logger.log("Alumno agregado: " + nuevoAlumno[1]);
}

				
			
				
					function agregarNotaConIDAuto() {
  var hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Notas");
  var datos = hoja.getDataRange().getValues();

  var ultimoID = 0;

  // Recorremos las filas para encontrar el ID más alto
  for (var i = 1; i < datos.length; i++) {
    var id = parseInt(datos[i][0]);
    if (!isNaN(id) && id > ultimoID) {
      ultimoID = id;
    }
  }

  // Creamos el nuevo ID incrementado
  var nuevoID = ultimoID + 1;

  // Datos del nuevo alumno (puedes adaptarlo a un formulario o entrada dinámica)
  var nombre = "Carla";
  var asignatura = "Biología";
  var nota = 9.1;

  var nuevaFila = [nuevoID, nombre, asignatura, nota];
  hoja.appendRow(nuevaFila);

  Logger.log("Alumno agregado con ID " + nuevoID + ": " + nombre);
}

				
			

Actualizar la nota de un alumno (Update)

Busca una fila por su ID (único para cada alumno), y si lo encuentra, actualiza el valor de su nota.

				
					function actualizarNotaPorID(idBuscado, nuevaNota) {
  var hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Notas");
  var datos = hoja.getDataRange().getValues();

  for (var i = 1; i < datos.length; i++) {
    var id = datos[i][0];
    if (id == idBuscado) {
      hoja.getRange(i + 1, 4).setValue(nuevaNota); // Columna 4 = Nota
      Logger.log("Nota actualizada para ID " + idBuscado + " a " + nuevaNota);
      return;
    }
  }
  Logger.log("ID no encontrado: " + idBuscado);
}


// 👀 Ejemplo de uso:
actualizarNotaPorID("2", 9.5);

				
			

Eliminar un alumno por ID (Delete)

Recorre las filas buscando el ID indicado. Si lo encuentra, elimina esa fila por completo.

				
					function eliminarNotaPorID(idBuscado) {
  var hoja = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Notas");
  var datos = hoja.getDataRange().getValues();

  for (var i = 1; i < datos.length; i++) {
    var id = datos[i][0];
    if (id == idBuscado) {
      hoja.deleteRow(i + 1); // +1 porque los índices de Apps Script empiezan en 1
      Logger.log("Registro eliminado con ID: " + idBuscado);
      return;
    }
  }
  Logger.log("No se encontró el ID para eliminar: " + idBuscado);
}

				
			

¿Cómo usar este código?

    • Abre tu hoja de cálculo de Google (asegúrate de tener una hoja llamada Notas con las columnas: ID, Nombre, Asignatura y Nota).

    • Haz clic en Extensiones > Apps Script.

    • Borra cualquier código que aparezca por defecto y pega el código del tutorial CRUD que vimos anteriormente.

    • Guarda el proyecto con un nombre como “Gestión de Notas”.

    • Para probar el sistema:

      • Ejecuta la función leerNotas() para ver los datos actuales en la consola (Ver > Registro).

      • Ejecuta agregarNotaConIDAuto() para añadir un nuevo alumno.

      • Ejecuta actualizarNotaPorID(id, nuevaNota) para modificar una nota.

      • Ejecuta eliminarNotaPorID(id) para eliminar un alumno.

    • La primera vez que ejecutes una función, Google te pedirá que otorgues permisos. Acéptalos para continuar.

    • ¡Y listo! Ya tienes un sistema básico de gestión de alumnos conectado a tu hoja de cálculo.