2

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

它失败。我猜它不喜欢“test(A)”值。有没有办法做到这一点。

4

1 回答 1

3

我的问题是:您可以在 QUERY 语句中使用脚本函数作为“标量函数”吗?

不,你不能,不幸的是。

在两行之间阅读,我认为您需要做的是修改您的脚本,使其接受一个数组作为参数,在该数组上执行它需要执行的操作,并返回一个结果数组。然后你就可以调用类似的东西:

=test(A1:A10)

或者您可以将其作为第一个参数包含在 QUERY 语句中:

=QUERY(test(A1:A10);"select Col1 where Col1 contains 'x'")
于 2012-06-26T03:40:11.873 回答