seleccionar valores de una lista en google sheets

Cláusula «WHERE IN» en Google Sheets


Preparando las hojas de cálculo de este curso donde anotar las calificaciones de mi alumnado, me surgió la necesidad de poder buscar [ con la función query(…) que permite utilizar Google Sheets como si fuese una base de datos 😉] las filas que contenían algún valor de determinada lista de valores (lo que «viene siendo» la cláusula IN de SQL) y como los chicos de Google (de momento) no han incluido «de serie» dicha posibilidad, al final me las he apañado para encontrar una solución, lo suficientemente sencilla como para que resulte útil…

El truco está en simularlo usando el comparador matches de la cláusula where que permite buscar usando expresiones regulares (tranquilo, no va a «doler») de modo que, con una consulta como ésta

select max(G) where F='Prueba inicial' and D matches '.*(alumno@webCoporativa.com|alumno@gmail.com).*'

Permitiría

  • buscar la máxima nota [ max(G) ]
  • para el ejercicio de la Prueba inicial
  • para un determinado alumno tanto si usa una cuenta del instituto (alumno@webCoporativa.com) como su cuenta personal (alumno@gmail.com)

DISCLAIMER: antes de que alguien se rasgue sus vestiduras con el RGPD/LOPD comentar que la máxima prioridad en este comienzo de curso ha sido tener a la mayor cantidad posible de alumnos en los Classrooms que hemos decidido usar en el centro sin mirar que las cuentas sean (o no) «corporativas» de ahí que ahora esté pagando el pato y teniendo que mirar las puntuaciones que le he asignado antes y después de obtener la autorización de la familia para dar al alumnado cuentas del centro 😅

La gracia de la consulta anterior está en el matches como ya habrás observado, donde:

  • Colocamos entre comillas (‘) y rodeados por .* (cualquier carácter un número indeterminado de veces pudiendo ser «ninguno» o cero)
  • Los distintos correos electrónicos separados por una barra vertical (|)

Para poder usar el operador IN en tu Google Sheets, lo único que tendrás que hacer es colocar los valores de tu lista separados por barras verticales (|) 👍

Por dejar el ejemplo completo (listo para copiar, pegar y modificar) os dejo aquí el uso de la función query(…) completo que he hecho (os he hablado en el enlace de su uso, por si te interesa indagar algo más sobre tan útil e interesante función)

=query(Classroom_A!$B$3:$G$1053;"select max(G) where F='Prueba inicial' and D matches '.*(alumno@webCoporativa.com|alumno@gmail.com).*' label max(G) ''")

Conclusión

Pequeño apunte en el que comparto con vosotros la forma de utilizar la «WHERE IN» de SQL en la hoja de cálculo Google Sheets que espero os resulte de utilidad tanto como a mí 👍

Y tú…

  • ¿Conoces otra forma de lanzar consultas where in en Google Sheets?
  • ¿Utilizas habitualmente la función query(..) en Sheets?
  • ¿Te parece interesante que dediquemos algún artículo adicional a esta función?
  • ¿Nos regalas algún uso curioso/potente que hagas con las hojas de cálculo?

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.