Sabemos que es muy fácil arrastrar ya sea una fórmula o algunos números hacia abajo o hacia los lados para que Google Sheets intente replicar secuencialmente la información. Pero, ¿sabías que podemos controlar esas mismas secuencias numéricas desde una sola fórmula? Esto será muy útil si queremos crear secuencias dinámicas de fechas, por ejemplo, y es justo lo que aprenderemos a hacer hoy.
La fórmula SEQUENCE
Bueno, lo primero que debemos aprender es la fórmula básica con la que trabajaremos hoy. Se trata de la fórmula SEQUENCE o SECUENCIA en español. SEQUENCE es realmente muy simple, pues en su forma más básica devuelve una lista de números secuenciales. La sintaxis es:
=SEQUENCE(filas, columnas, inicio, incremento)
Con esto podemos crear secuencias sencillas, como un conteo del 1 al 5 hacia abajo, eligiendo 5 filas, 1 columna, el inicio en 1 y con incrementos de 1:
=SEQUENCE(5,1,1,1)
Si nos fijamos bien, en realidad no es como tal una lista solamente, sino una matriz, porque podemos hacer este mismo conteo hacia la derecha si cambiamos a 1 sola fila y 5 columnas:
=SEQUENCE(1,5,1,1)
Si quisiéramos una matriz completa de 5×5, iniciando en 0 y con incrementos de 2, haríamos esto:
=SEQUENCE(5,5,0,2)
¿Muy fácil, no crees?
Fechas secuenciales automáticas
Ahora, esto podría parecernos un poco trivial sin un uso concreto, así que vamos a poner un pequeño ejemplo de cómo SEQUENCE puede ser una herramienta muy poderosa a nuestro alcance, si la combinamos con el uso de fechas en nuestra hoja de cálculo.
Imaginemos que en una hoja tenemos un registro de turnos de una hora que ciertas personas deben cubrir en fechas específicas.
Lo que nos serviría mucho aquí es una vista de calendario en donde podamos revisar los turnos que ya están cubiertos y los que están libres. Esta vista debe ser dinámica, en la que podamos elegir la fecha inicial y cuántos días a partir de esa fecha requerimos ver. Para esto haremos una hoja nueva llamada Calendario, y empezamos con estos dos datos iniciales:
Ahora vamos a crear una secuencia de fechas a partir de la fecha inicial. Para eso, configuramos SEQUENCE de esta manera, indicando el número de días como el argumento de las filas, una columna, la fecha inicial como el argumento de inicio, y 1 en el incremento.
=SEQUENCE(B2,1,B1,1)
Recordemos que para Google Sheets, una fecha no es más que un número, y eso es lo que veremos inicialmente, pero no hay nada de qué preocuparse si elegimos estas celdas y les damos el formato de fecha que más nos guste.
Aquí podemos jugar con los parámetros de fecha inicial y de días para verificar que nuestra fórmula de SEQUENCE funciona correctamente y nos provee de la utilidad que queríamos.
Secuencia de horas en un día
Bien, ahora tenemos que hacer algo parecido para las 24 horas del día. Necesitamos 1 fila en 24 columnas hacia la derecha, empezando en 0, con incrementos de una hora.
=SEQUENCE(1,24,0,1)
Ahora, tenemos una consideración que hacer aquí, porque necesitamos que estos números funcionen realmente como fracciones del día para usarlos correctamente. Es decir, queremos que representen horas del día, y para eso solamente tendríamos que dividir entre 24:
Hmmm… algo pasó aquí, perdimos nuestra secuencia. Eso es porque al hacer la operación, por default lo regresamos a un resultado de una sola celda, entonces lo arreglamos fácilmente encapsulando nuestra fórmula en ARRAYFORMULA presionando CTRL + SHIFT + ENTER. Esto expandirá el resultado completo del arreglo en vez de mostrar solo el primer elemento:
Esto será algo común que tendremos que hacer en varios casos de uso de SEQUENCE, y es la razón por la que quise que lo demostráramos ahora mismo. 😉
A estas celdas solamente les tendremos que dar formato de duración en el menú Formato – Número – Duración. Después en el mismo menú de Formato – Número – Fecha y hora personalizadas podemos ajustarlo todavía un poco más para que quede como nos convenga, eligiendo horas transcurridas con 0 al principio y quitándole los segundos y los dos puntos sobrantes, por ejemplo:
Si además hacemos el texto vertical, ajustamos el ancho e inmovilizamos filas y columnas, tenemos nuestra lista de horas en el día lista:
Contando los turnos
Por último, queremos saber si cada turno dependiendo del día estará ocupado o no. Entonces vamos a la primera celda que cruza entre la primera hora y el primer día de nuestra matriz, y usemos la fórmula COUNTIFS (CONTAR.SI.CONJUNTO en español) como hemos aprendido en guías anteriores para contar elementos dependiendo de ciertos criterios. En el primer intervalo escribimos el de las fechas de la hoja de Turnos, y como criterio el valor de la fecha de nuestro calendario. Podemos agregar tantos intervalos y criterios como queramos, entonces como segundo intervalo elegimos la columna de las horas en la hoja de Turnos, y en el criterio, obviamente, será la hora.
=COUNTIFS(Turnos!$B$2:$B,$B4,Turnos!$C$2:$C,C$3)
Esto significa que contará solamente si coincide el día y la hora indicada. Ojo aquí con las referencias fijas que ponemos con el signo de dinero, las necesitamos justo así porque vamos a replicar la fórmula hacia los lados y después hacia abajo:
Aquí podemos ver que tenemos un 1 si el turno está ocupado, y hasta un 2 si encontró un turno que tiene más de una persona asignada al mismo tiempo.
Si agregamos algo de formato condicional a las celdas, para que destaquen los números mayores a 0, tendremos una vista muy útil:
Tabla de turnos alternativa con secuencias
Si jugamos un poco más con estas fórmulas y datos, podemos obtener una vista muy parecida pero que solo indique si está ocupado o no el turno. Solo tenemos que insertar casillas de verificación y finalmente meter todo en una condición IF sencilla para que solo devuelva VERDADERO o FALSO.
=IF(COUNTIFS(Turnos!$B$2:$B,$B4,Turnos!$C$2:$C,C$3),TRUE)
¡Y listo! Ahora ya sabes cómo usar la fórmula SEQUENCE para crear secuencias de números y fechas automáticas de una forma muy práctica que podrás utilizar en complemento con muchas otras fórmulas. En mi opinión es una solución muy creativa y elegante.
Guía en video
Si tienes dudas puedes ver esta misma guía explicada en video:
Espero que te haya sido útil esta guía! No olvides seguirnos en YouTube para más tips, trucos y guías de productividad.
Alekz es un apasionado de la tecnología y los videojuegos. Además de ser locutor comercial, disfruta de la expresión artística más sastisfactoria y técnica que existe: programar (y pintar algo de pixel art). Fundó Tesel para ayudar a empoderar a las empresas a desarrollar su máximo potencial mediante la tecnología. Es un absoluto nerd de Star Trek.
Alekz es un apasionado de la tecnología y los videojuegos. Además de ser locutor comercial, disfruta de la expresión artística más sastisfactoria y técnica que existe: programar (y pintar algo de pixel art). Fundó Tesel para ayudar a empoderar a las empresas a desarrollar su máximo potencial mediante la tecnología. Es un absoluto nerd de Star Trek.
Hola, me parece fenomenal. Puedes hacer lo mismo, pero en Microsoft Excel?