2012-07-25 13 views
8

otro problema con la API de la hoja de cálculo de Google. Intento usar la función Query() para obtener todos los clientes de nuestra base de datos que son de Varsovia. Sin embargo, la API de Google parece tener un gran problema al analizar mi consulta. Lo he comprobado varias veces y todo está bien. He probado puntos y comas, diferentes apóstrofes y nombres de columnas; todavía no funciona. Escribo este código en la celda de la ficha técnica:Hoja de cálculo de Google Error de consulta: la columna no existe

= Query(ImportRange("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska!A3:G40"); "select B where E contains 'Warszawa'") 

y obtener error como este:

error: Invalid query: Column [E] does not exist in table. 

Y estoy 110% seguro de que existe la columna y la clave de hoja de cálculo está bien;)

Respuesta

14

Si está utilizando la función Query con una referencia directa a un rectángulo de celdas, use mayúsculas para referirse a las columnas. Sin embargo, si usa Query con la salida de una fórmula de matriz, como la devolución de ImportRange, entonces necesita usar Col1, Col2, ... para hacer referencia a las columnas. Así, el ejemplo de cadena de consulta tendría que leer:

"select Col2 where Col5 contains 'Warszawa'" 

Ejemplo de trabajo:

=Query(ImportRange("0AtEH2Kw9zfIodEQ2dFNFam9sdEFEZlVnNEV3ZEZMZEE", "data!A:G"), "select Col3, count(Col4) group by Col3 order by count(Col4) desc label count(Col4) 'count'") 

no tengo idea de por qué no sólo le permiten usar nombres de una fila de encabezado.

+1

Gracias! ¡Curioso donde encontraste esta pista! FYI, esto también es un problema cuando haces agrupamientos de consultas/ordenaciones/transpone como '= query (transpose (query (A1: B3;" select * where B> = 2 "));" select A ")' (dice que la Columna [A] no existe). Pero funciona si uso Col1. – Fuhrmanator

+1

Estaba teniendo problemas para consultar un rango importado, así que busqué en google 'google query query queryrange' y obtuve un ejemplo que usaba la convención' Col1 ... Coln'. – George

+0

@George. ¿Hay alguna configuración que deba hacer en la hoja de cálculo de origen? He importado datos con éxito, pero solo se importan números, las celdas que deben contener cadenas están en blanco. – putoshop

2

Alternativamente, puede probar la función FILTER en este caso y luego no necesita molestarse con sql. :)

= FILTRO (ImportRange ("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia Polska B3: B40"); ImportRange ("0ArsOaWajjzv9dEdGTUZCWFc1NnFva05uWkxETVF6Q0E"; "Kuchnia polska E3: E40!") = "Warszava")

Aunque Admito que no es tan bonito debido a las dos funciones de ImportRange.

Espero que ayudó de todos modos.

Cuestiones relacionadas