En este tutorial vamos a crear un contador o temporizador en Google Sheets para controlar el tiempo de entrega de pedidos, por ejemplo, para domicilios como pizzas. La idea es que puedas registrar la hora de inicio y fin de un pedido, calcular cuánto tiempo ha pasado, mostrar una barra visual con el progreso y alertar cuando se supere un tiempo límite, como 30 minutos. Esto es muy útil para emprendedores y pequeños negocios que quieran controlar tiempos de entrega y mejorar su servicio.
Si prefieres seguir este tutorial en video, te lo dejo arriba para que puedas verlo paso a paso. Ahora vamos a entrar en detalle con el código y las fórmulas que usaremos para construir este temporizador en Google Sheets.
Paso 1: Crear el sistema de registro de hora de inicio y fin (timestamp) con Google Apps Script
Lo primero que vamos a hacer es un script que registre automáticamente la hora cuando activemos un pedido. Por ejemplo, cuando marquemos una casilla de verificación para «iniciar» el pedido, el script pondrá la hora actual en una columna específica. Lo mismo para cuando finalicemos el pedido. Así no tenemos que ingresar manualmente la hora.
La lógica del script es la siguiente:
- Detectar si la edición se hizo en la columna donde está el checkbox para iniciar o finalizar.
- Si es la columna de inicio (por ejemplo columna 2) y el checkbox está en TRUE, poner la hora actual en la columna siguiente (columna 3).
- Si es la columna de finalización (por ejemplo columna 4) y el checkbox está en TRUE, poner la hora actual en la columna siguiente (columna 5).
- No modificar nada si el checkbox está en FALSE o vacío.
Este código se ejecuta con un activador simple de edición (onEdit). Aquí te muestro la estructura básica del script:
<!-- wp:html -->
<div class="wp-block-woocommerce-memberships-member-content">
<pre class="wp-block-code"><code>function onEdit(e) {
var hoja = e.source.getActiveSheet();
var fila = e.range.getRow();
var columna = e.range.getColumn();
if (fila > 1) { // Para evitar encabezados
if (columna === 2 && e.value === "TRUE") { // Inicio pedido
hoja.getRange(fila; 3).setValue(new Date());
} else if (columna === 4 && e.value === "TRUE") { // Fin pedido
hoja.getRange(fila; 5).setValue(new Date());
}
}
}</code></pre>
</div>
<!-- /wp:html -->
Con este script, cada vez que marques el checkbox de la columna 2 o 4, se pondrá la hora actual en la columna 3 o 5 respectivamente. Así queda el registro automático de tiempo.
Paso 2: Calcular el tiempo transcurrido entre inicio y fin
Ahora que tenemos las horas de inicio y fin, podemos calcular cuánto tiempo se ha tardado el pedido. Para esto usaremos una fórmula sencilla en Google Sheets que reste la hora de inicio a la hora actual o a la hora de finalización si ya existe.
La fórmula que usaremos en la columna de duración (por ejemplo columna 6) es:
=SI(E2<>""; E2-C2; AHORA()-C2)
Donde:
- C2 es la hora de inicio.
- E2 es la hora de finalización.
- Si ya hay hora de finalización, se resta fin – inicio para mostrar duración total.
- Si no hay fin, se resta el tiempo actual AHORA() – inicio para mostrar tiempo transcurrido en vivo.
Recuerda dar formato de duración a esta celda para que se muestre en horas:minutos:segundos.
Paso 3: Convertir duración a minutos y controlar el tiempo límite
Google Sheets maneja el tiempo como un número decimal entre 0 y 1, donde 1 equivale a 24 horas. Por eso, para convertir el tiempo transcurrido a minutos, debemos multiplicar por 24 (horas en un día) y luego por 60 (minutos en una hora).
=D6*24*60
Suponiendo que la duración está en la celda D6, esta fórmula nos da los minutos transcurridos.
Ahora, para controlar un tiempo límite, por ejemplo 30 minutos, podemos usar condicionales para mostrar alertas o cambiar colores cuando el tiempo se pase.
Paso 4: Crear una barra visual con SPARKLINE para mostrar progreso
Una forma muy visual de mostrar cuánto tiempo ha pasado es usar la función SPARKLINE, que crea un pequeño gráfico dentro de una celda.
Para nuestro caso, haremos una barra que muestre el porcentaje de minutos transcurridos respecto al límite (30 minutos). La fórmula es:
=SPARKLINE(E6; {"charttype"; "bar"; "max"; 30; "color1"; SI(E6>=30; "red"; "green")})
Donde E6 es la celda con los minutos transcurridos. Esta barra será verde si está dentro del tiempo y roja cuando se pase de 30 minutos.
Paso 5: Mejoras y consejos finales
Algunas recomendaciones para mejorar tu hoja de control:
- Usa una casilla de verificación para activar el inicio y fin de cada pedido, así el timestamp solo se genera cuando quieres.
- Configura en Archivo > Configuración de hoja de cálculo el cálculo para que se actualice automáticamente cada minuto, así la fórmula AHORA() se refresca y el tiempo transcurrido se actualiza sin que tengas que hacer nada.
- Agrega condicionales para mostrar alertas en colores o mensajes cuando se pase el tiempo límite.
- Si necesitas, puedes adaptar este sistema para tareas que duren días, cambiando las unidades de tiempo.
Con este sistema, no solo controlas tiempos de entrega, sino que puedes visualizar fácilmente el progreso y tomar decisiones rápidas para mejorar la atención a tus clientes.
Conclusión
En resumen, creamos un temporizador para pedidos en Google Sheets con estas etapas:
- Un script que registra automáticamente la hora de inicio y fin al activar casillas.
- Una fórmula para calcular el tiempo transcurrido entre inicio y fin o el tiempo actual si no ha finalizado.
- Conversión de tiempo decimal a minutos para facilitar la lectura.
- Una barra visual con SPARKLINE que muestra el progreso y cambia de color si se supera el límite.
- Consejos para actualizar la hoja automáticamente y mejorar la usabilidad.
Este método es muy útil para emprendedores y dueños de pequeños negocios que quieran controlar tiempos de entrega, tareas o proyectos de forma sencilla y visual.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.