Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 使用谷歌电子表格,用谷歌查询语言(GQL)按名称而不是字母选择列?_Google Sheets_Gql - Fatal编程技术网

Google sheets 使用谷歌电子表格,用谷歌查询语言(GQL)按名称而不是字母选择列?

Google sheets 使用谷歌电子表格,用谷歌查询语言(GQL)按名称而不是字母选择列?,google-sheets,gql,Google Sheets,Gql,新手问题,在谷歌电子表格中使用谷歌查询语言时,是否可以按名称而不是字母选择列 这对我来说很好:“选择A,按A计数(B)组” 如果我可以使用第一行中的列标题(更像数据库),那就太好了,如中所示: 选择学生,按学生计数(拘留)组 我怀疑这是不可能的,但希望这是我的互联网搜索技能让我失望的又一个例子。这目前是不可能的。GQL文档说明[1]“列由标识符(而不是标签)引用。例如,在Google电子表格中,列标识符是一个或两个字符的列字母(a、B、C……) 如果要在电子表格中执行此操作,可以使用以下公式将列

新手问题,在谷歌电子表格中使用谷歌查询语言时,是否可以按名称而不是字母选择列

这对我来说很好:“选择A,按A计数(B)组”

如果我可以使用第一行中的列标题(更像数据库),那就太好了,如中所示:

选择学生,按学生计数(拘留)组


我怀疑这是不可能的,但希望这是我的互联网搜索技能让我失望的又一个例子。

这目前是不可能的。GQL文档说明[1]“列由标识符(而不是标签)引用。例如,在Google电子表格中,列标识符是一个或两个字符的列字母(a、B、C……)

如果要在电子表格中执行此操作,可以使用以下公式将列标题名称转换为字母(可能需要进行一些调整+1(可能是+2))。它还依赖于列标题是唯一的且不包含逗号

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

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,"")

我发现,当您在外部范围上使用
IMPORTRANGE
函数时,它会将字母转换为列号,并在这方面对您有所帮助

我想根据字段名选择一个列,但问题是要查看的列将来可能会更改。我所做的就是使用
MATCH
函数来识别列,所以它看起来像

=查询(导入(“电子表格url”、“NamedRange”)、“选择列”和匹配(“FieldName”,FieldNameRowAddress/RangeName,FALSE)”)

有趣的是,您必须允许权限访问自身

我已经命名了我要导入的范围,以使其更加经得起未来考验