En este tutorial completo, aprenderás a crear un sistema de asistencia totalmente funcional usando Google Forms y Google Sheets, sin necesidad de escribir ni una sola línea de código. Este método es perfecto para emprendedores, profesores o coordinadores que buscan una solución práctica para gestionar la asistencia de estudiantes o participantes, con la ventaja adicional de generar códigos QR personalizados para cada clase y automatizar la verificación de asistencia. Además, te mostraré cómo validar la identidad de los estudiantes y cómo organizar tu hoja de cálculo para facilitar el manejo de la información.
Si prefieres seguir este tutorial en formato video, te los dejo a continuación para que puedas verlo paso a paso y a tu ritmo.
Requisitos previos para crear tu sistema de asistencia
- Una cuenta de Google activa.
- Acceso a Google Forms y Google Sheets.
- Conocimientos básicos de cómo usar Google Sheets (no es necesario ser experto).
Pasos detallados para crear tu sistema de asistencia
1. Crear un formulario en Google Forms desde Google Sheets
Para comenzar, abre una hoja de cálculo nueva en Google Sheets y sigue estos pasos:
- Ve al menú Herramientas > Crear un formulario. Esto generará automáticamente un Google Form vinculado a tu hoja de cálculo, donde se guardarán las respuestas.
- Configura el formulario con los siguientes campos, que serán esenciales para tu sistema de asistencia:
- Nombre completo: tipo respuesta corta.
- ID del estudiante: tipo respuesta corta. Es útil para evitar confusiones con nombres parecidos.
- Clase: tipo respuesta corta, para identificar a qué clase pertenece la asistencia.
- Fecha: tipo fecha o respuesta corta, según prefieras.
Consejo: Puedes agregar un campo de correo electrónico y marcarlo como obligatorio para validar la identidad del estudiante. Esto ayuda a evitar fraudes y facilita la verificación.
- Una vez configurado el formulario, copia el enlace para compartir (el que aparece en el botón «Enviar»). Este enlace será la base para personalizar y prellenar el formulario para cada estudiante y clase.
2. Personalizar y prellenar el formulario automáticamente
Para que cada estudiante reciba un formulario ya con algunos campos llenos (como su nombre, ID, clase y fecha), sigue estos pasos:
- Pega el enlace del formulario en una celda de Google Sheets.
- Modifica el enlace cambiando «viewform» por «formResponse». Esto hará que el formulario se envíe automáticamente cuando el estudiante acceda al enlace.
- Usa la función
ENCODEURLpara codificar la URL y evitar problemas con caracteres especiales.
=ENCODEURL("https://docs.google.com/forms/d/e/tu_formulario/formResponse")
Luego, para personalizar el formulario con los datos de cada estudiante, utiliza la concatenación en Sheets. Por ejemplo:
= "https://docs.google.com/forms/d/e/tu_formulario/formResponse?entry.123456789=" & B2 & "&entry.987654321=" & C2 & "&entry.1122334455=" & D2 & "&entry.5566778899=" & TEXTO(E2;"aaaa-mm-dd")
Donde B2 es el nombre, C2 el ID, D2 la clase y E2 la fecha. Recuerda que los códigos entry.xxxxxxxx corresponden a cada campo del formulario y los puedes obtener inspeccionando el formulario o revisando la URL de prellenado.
3. Generar códigos QR personalizados para cada estudiante
Para facilitar que los estudiantes accedan a su formulario prellenado, puedes generar un código QR para cada enlace personalizado. Así, solo deben escanear y enviar su asistencia.
- Usa la función
IMAGEcombinada con el servicio de Google Charts API para crear los QR:
=IMAGE("https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=" & ENCODEURL(A2))
Donde A2 contiene el enlace personalizado del formulario. Puedes arrastrar esta fórmula hacia abajo para generar múltiples QR de forma automática.
4. Validar la asistencia y calcular retardo
Google Forms registra automáticamente la hora en que cada estudiante envía el formulario (timestamp). Esto nos permite medir la puntualidad.
- En la hoja de respuestas, crea una fórmula para calcular el retardo restando la hora de inicio de la clase a la hora de envío:
=SI.ERROR(TIEMPO(D2) - TIEMPO(C2); "No Asistió")
Aquí D2 es la hora de envío (timestamp) y C2 la hora programada de inicio de la clase.
- Luego, con otra fórmula, puedes marcar si el estudiante llegó a tiempo o con retardo, usando un umbral (por ejemplo, 5 minutos):
=SI(E2 > TIEMPO(0;5;0); "Retardo"; "A tiempo")
Donde E2 contiene el resultado del cálculo de retardo anterior.
5. Verificar la autenticidad del estudiante con correo electrónico
Para evitar que un estudiante envíe la asistencia en nombre de otro, puedes solicitar el correo electrónico verificado en Google Forms. Luego, en Google Sheets, compara el correo registrado con el correo asignado al estudiante:
=SI(B2=D2; "Correo Verificado"; "Correo No Verificado")
Donde B2 es el correo registrado en la respuesta y D2 es el correo que tienes asignado para ese estudiante.
6. Personalizar y compartir la plantilla con otros usuarios
Una vez que tengas todo configurado, puedes organizar tu hoja ocultando columnas que no necesites mostrar para mantenerla limpia y fácil de usar. Además, puedes compartir esta plantilla con otros profesores o coordinadores para que solo tengan que actualizar los datos de sus estudiantes y generar sus propios códigos QR.
Conclusión
Con este sistema de asistencia basado en Google Forms y Google Sheets, tienes una solución flexible, fácil de implementar y sin necesidad de programación. Puedes personalizar los formularios, generar códigos QR para facilitar el acceso, validar la puntualidad y verificar la identidad de los estudiantes mediante correos electrónicos. Además, al estar todo vinculado a Google Sheets, tienes la ventaja de poder analizar y reportar la asistencia de forma sencilla y en tiempo real.
Como siguiente paso, te recomiendo profundizar en el manejo avanzado de Google Sheets para automatizar aún más tus procesos. Puedes revisar este curso avanzado de Google Sheets donde enseño cómo crear automatizaciones potentes para tu negocio o proyecto.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.