在QUERY“select”子句中,它声明您可以使用标量函数代替 列名称,例如“year(A)”。
在文档的另一部分中,它声明您可以调用脚本 通过将“= function_name(...)”编码到单元格中来起作用。
我的问题是:你能否在QUERY中使用脚本函数作为“标量函数” 声明?
如果可能,它将大大简化代码并可能提高性能, 在某些情况下,例如“将数据从一张纸复制到另一张纸”。
这是我的例子
Assume "test" is a function that issues a "return" statement that modifies
its input parameter.
我试过了代码
=test(A1)
在单元格中,它可以工作。
但是当我尝试这个QUERY时
=QUERY(A1:A10, "select test(A)" )
失败了。我的猜测它不喜欢“测试(A)”值。 有没有办法做到这一点。
答案 0 :(得分:3)
我的问题是:你能否使用脚本函数作为“标量函数” 在QUERY声明中?
不幸的是,不,你不能。
在行之间阅读,我认为你需要做的是修改你的脚本,使它接受一个数组作为参数,做它需要对该数组做什么,并返回一个结果数组。然后你就可以调用类似的东西:
=test(A1:A10)
或者您可以在QUERY语句中包含它作为第一个参数:
=QUERY(test(A1:A10);"select Col1 where Col1 contains 'x'")