2011-09-22 20 views
7

pregunta para novatos, ¿es posible seleccionar columnas por nombre en lugar de letra cuando se utiliza el lenguaje de consulta de Google con las hojas de cálculo de Google?Seleccione columnas por nombre en lugar de letra en Google Query Language (GQL) con Google Spreadsheets?

Esto funciona muy bien para mí: "SELECT A, COUNT grupo (b) por un"

Sería genial si pudiera utilizar los encabezados de columna en la primera fila, más como una base de datos, como en :

"SELECT estudiante, RECUENTO DEL GRUPO (detención) por el estudiante"

sospecho que no es posible, pero espero que este otro caso en el que mis habilidades de búsqueda de Internet me fallaron.

Respuesta

5

Esto no es posible actualmente. La documentación de GQL indica [1] "Los identificadores hacen referencia a las columnas (no por etiquetas). Por ejemplo, en una hoja de cálculo de Google, los identificadores de columna son la letra de columna de uno o dos caracteres (A, B, C, ...). "

Si desea hacer esto en una hoja de cálculo, es posible con la siguiente fórmula convertir un nombre de encabezado de columna en una letra (es posible que se requiera algún ajuste +1 (podría ser +2)). También se basa en los encabezados de columna ser único y no contiene comas

=REGEXEXTRACT(ADDRESS(1,COUNTA(SPLIT(LEFT(JOIN(",",TRANSPOSE(1:1)),FIND("your_column_name",JOIN(",",TRANSPOSE(1:1)))),","))+1,4);"[a-zA-Z]+") 

[1] https://developers.google.com/chart/interactive/docs/querylanguage#Select

+0

¡Esto funciona genial! No habría pensado en esto. – prototype

0

un poco más simple:

SELECT "&SUBSTITUTE(ADDRESS(1,MATCH("student",Sheet1!A1:B1,0),4),1,"")&", COUNT("&SUBSTITUTE(ADDRESS(1,MATCH("detention",Sheet1!A1:B1,0),4),1,"")&") GROUP BY "&SUBSTITUTE(ADDRESS(1,MATCH("student",Sheet1!A1:B1,0),4),1,"") 
Cuestiones relacionadas