2017-08-03 84 views
-1

query函数不允许您使用列名称;如果引用单元格范围,则代之以使用字母,如果引用数组,则使用ColN。 这是非常烦人的,最重要的是当你改变查询表添加,删除或交换列时。如何在Google表格查询中明确使用列名称

我想使用列名,就像在标准的SQL查询中一样。

回答

0

一个解决方案可能会反复出现在脚本创建的某个自定义函数中,但是当您的表格不是很小时,由于计算时间过长,您肯定会发生某些错误。

最有效的解决方案(只使用本机功能)我发现如下。

假设您正在使用一个工作表范围,您的列名在第1行,并且您想要引用“salary”列;您可以通过

substitute(address(1,match("salary",A1:1,0),4),"1","")

获得列字母相反,如果你要查询的阵列,它是简单的;你需要的字符串是

"Col"&match("salary",A1:1,0)

最后的查询可能是不那么优雅,但效率有保证:

query( employeessheet!A:E, "select "&substitute(address(1,match("salary",employeessheet!A1:1,0),4),"1","")&" where ...", 1)

相关问题