Cómo solucionar problemas con columnas mixtas en QUERY de Google Sheets

¿Te ha pasado que al usar la función QUERY en Google Sheets, de repente te encuentras con columnas que mezclan textos, números y hasta fechas, y todo se desordena? Créeme, no eres el único. Este tutorial lo escribí justo para esos momentos en los que QUERY parece no entenderse con tus datos y muestra resultados inesperados o, peor aún, te deja celdas en blanco. Aquí te voy a mostrar, paso a paso, cómo manejar columnas mixtas para que tus reportes y análisis no se descuadren y puedas tener el control total de tus hojas de cálculo, sin importar el tipo de dato que tengas.

Si eres de los que prefieren ver el tutorial en video, aquí te lo dejo para que puedas seguirlo visualmente:

¿Por qué QUERY falla con columnas mixtas?

Lo primero es entender el problema. QUERY en Google Sheets evalúa cada columna y decide, de manera automática, qué tipo de dato predomina. Si tienes una mezcla, por ejemplo, de números y textos, QUERY suele ignorar los textos y solo procesa los números, o viceversa. Esto puede llevar a que tus resultados sean incompletos o incorrectos. Y si tienes fechas mezcladas con textos, el lío es aún mayor.

Imagina una tabla como esta, donde la columna C mezcla valores numéricos y textos:

NombreFechaValor
Juan2024-04-011000
María2024-04-02Texto
Pablo2024-04-031500

Si intentas sumar la columna «Valor» usando QUERY, solo tomará los números y dejará el texto por fuera, o incluso puede darte un error.

Solución 1: Cambia el formato de la columna

La forma más sencilla (y la que yo uso cuando puedo) es asegurarte de que cada columna tenga un solo tipo de dato. Esto es fundamental para que QUERY no se confunda. Para hacerlo:

  1. Selecciona la columna problemática.
  2. Ve al menú Formato > Número y elige el formato más adecuado (Texto sin formato si tienes datos mixtos, o Número si solo hay números).

Por ejemplo, si tienes una columna de precios y necesitas aplicar un descuento, asegúrate que esté en formato número antes de usar QUERY:

=QUERY(A1:D; "SELECT A, B, C, D*0.9"; 1)

Esto multiplica la columna D por 0.9, pero solo funcionará si D está en formato numérico. Si hay textos, esos registros se ignorarán en la operación.

Solución 2: Identifica el tipo de dato con TIPO()

La función TIPO() es una joya poco conocida. Te permite saber qué tipo de dato hay en una celda. Así puedes «mapear» tu columna antes de usar QUERY y saber dónde hay problemas.

=TIPO(A2)

Los resultados son:

  • 1: Número
  • 2: Texto
  • 3: Fecha

Esto es útil para hacer una columna auxiliar que te ayude a limpiar o transformar los datos antes de usar QUERY. Por ejemplo, puedes filtrar solo las filas que sean numéricas usando una combinación de FILTRAR y TIPO().

Solución 3: Limpia los datos con ARRAYFORMULA y NUMERO()

Cuando no puedes cambiar el formato original (porque lo compartes o te llega de otro lado), puedes crear una columna auxiliar usando ARRAYFORMULA y NUMERO() para convertir los textos a números (o dejar en blanco los que no se puedan convertir):

=ARRAYFORMULA(NUMERO(C2:C))

Esto te entrega una columna solo con los valores numéricos. Si había textos, quedarán en blanco. Ahora sí, puedes usar esa columna en tu QUERY sin miedo a errores o datos omitidos.

Solución 4: Convierte todo a texto con ARRAYFORMULA y TEXTO()

¿Y si necesitas que todo sea texto? Usa TEXTO() dentro de ARRAYFORMULA para forzar el formato y luego trabaja sobre esa columna. Por ejemplo:

=ARRAYFORMULA(TEXTO(C2:C;"@"))

Esto es útil si vas a concatenar datos, crear identificadores únicos o simplemente necesitas que todo sea tratado como texto en tu QUERY.

¿Qué pasa si mezclas fechas y textos?

Si tienes fechas mezcladas con textos, lo mejor es crear una columna auxiliar y usar ESNUMERO() para identificar las fechas (que internamente son números en Sheets):

=ARRAYFORMULA(SI(ESNUMERO(B2:B);B2:B;""))

Así puedes separar solo las fechas y luego trabajar con ellas en tu consulta QUERY.

Tips para evitar dolores de cabeza con QUERY

  • Evita columnas mixtas desde el principio: Si puedes, define desde el inicio el tipo de dato de cada columna.
  • Usa columnas auxiliares: Si recibes datos de otros, crea columnas auxiliares para limpiar y transformar antes de consultar.
  • Verifica siempre con TIPO(): Antes de hacer cálculos o filtros, revisa qué tipo de datos tienes realmente.

Conclusión

En resumen, lidiar con columnas mixtas en Google Sheets puede ser un dolor de cabeza, pero con estas soluciones puedes anticiparte y evitar que QUERY te juegue una mala pasada. Recuerda: cambia el formato cuando sea posible, usa TIPO() para identificar problemas, y crea columnas auxiliares con ARRAYFORMULA para limpiar tus datos. Así tendrás consultas limpias y precisas, sin importar el caos de los datos originales.

Si quieres profundizar en el manejo de datos y aprender a crear reportes avanzados con QUERY y otras herramientas de Google Sheets, te recomiendo mi curso completo de Google Sheets Avanzado, donde vemos casos reales y soluciones prácticas.

Y si apenas estás empezando, no te pierdas mi curso gratis de 2 horas para aprender Google Forms y Google Sheets desde cero.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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

JuanSGuzman
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.