【问题标题】:Joining ( {} ) 2 separately working queries gives a value error加入 ( {} ) 2 个单独工作的查询会产生值错误
【发布时间】:2018-09-09 07:56:20
【问题描述】:

我有这个问题

=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) ''")

这给了我“总和”列的总数

它们单独工作正常,但是当我将它们与 {} 一起加入时,如下所示:

={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个额外按月对源数据进行排序,得到每个月的“Table/Total”。

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

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

【问题讨论】:

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


    【解决方案1】:

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

    =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) ''")\""\""}})
    

    【讨论】:

    • 行得通!谢谢!任何机会你都可以解释数组公式的作用,以及“”\。据我所知,“”\ 是一个水平列步骤,带有空字符串,但是 ArrayFormula 是如何发挥作用的?只是为了能够添加那一步吗?
    • @Konata 它可能不需要。尝试不使用它...我只是明确说明这是一个数组公式并且里面有数组(以防万一,如果你愿意的话作为备份)
    • 是的,没有它也一样。再次感谢你,至少现在我知道以后该做什么了
    猜你喜欢
    • 2018-04-10
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-21
    相关资源
    最近更新 更多