连接({})2个单独工作的查询会产生值错误

时间:2018-09-09 07:56:21

标签: sql google-apps-script google-sheets formula google-query-language

我有这个查询

=query(importrange("link";"Sales!A2:F");"Select Col1,Col3,Col4,Col5,Col6  where Col2='Manager'")

以这种格式获取数据

日期|姓名|总和| DOP |评论

我有这个公式

=query(importrange("link";"Sales!A2:F");"Select Sum(Col4) where Col2='Manager' label Sum(Col4) ''")

这使我获得了“总和”列的总数

它们分别工作正常,但是当我将它们与{}一起加入时,就像这样:

={query(importrange("link";"Sales!A2:F");"Select Col1,Col3,Col4,Col5,Col6  where Col2='Manager'");query(importrange("link";"Sales!A2:F");"Select Sum(Col4) where Col2='Manager' label Sum(Col4) ''")}

我得到一个

In ARRAY_LITERAL, an Array Literal was missing values for one or more rows

预期的行为是,合并的公式将输出数据表,并且在总和的下面。

使用该公式的原因是,最终将有12个将按月对源数据进行附加排序并获得每个月的“表/总计”。

也许“查询”不是最好的方法,如果是这样,那么我将很高兴学习一种更有效的方法!

请记住,在您所在的地区,“;”内部公式可能需要替换为“,”

1 个答案:

答案 0 :(得分:3)

垂直连接数组文字时,列数必须相等。

=ARRAYFORMULA({query(importrange("link";"Sales!A2:F");"Select Col1,Col3,Col4,Col5,Col6  where Col2='Manager'");{""\""\query(importrange("link";"Sales!A2:F");"Select Sum(Col4) where Col2='Manager' label Sum(Col4) ''")\""\""}})