将Google表格中的查询结果与不匹配的结果大小结合起来

时间:2019-06-28 18:19:05

标签: google-sheets concatenation google-sheets-formula google-sheets-query google-query-language

我正在尝试使用一个公式,可以在其中继续添加查询以具有不同的条件和排序算法。结果将具有不同的大小,但全部来自同一张纸。这是我正在尝试的:

=ARRAYFORMULA(IFERROR({iferror(QUERY(Available!$A$3:$M, "select A,B,C,D,E,F,G,H,I,J,K,L,M where M like '%Blah' order by B desc");iferror(QUERY(Available!$A$3:$M, "select A,B,C,D,E,F,G,H,I,J,K,L,M where C = 'Bleh' order by B asc limit 3"),A2:M2/0)})))

在上面的示例中,第一个查询将查看一个工作表并找到一组列,其中列M包含“ Blah”,对其进行排序并提供结果。这很好。当我添加第二个查询时,我希望它将结果附加到上一个查询中。我希望能够继续建立此公式,因此将来我可以添加更多独立排序和限制的查询。在第二个查询中,我只希望其中3个结果按相反顺序排列,并且列C读为“ Bleh”。

2 个答案:

答案 0 :(得分:1)

它可能就像:

=IFERROR(QUERY(
 {IFERROR(QUERY(Available!A3:M, "where M like '%Blah' order by B desc", 0), 
 {"","","","","","","","","","","","",""});
 IFERROR(QUERY(Available!A3:M, "where C = 'Bleh' order by B desc", 0), 
 {"","","","","","","","","","","","",""})}, 
 "where Col1 is not null", 0))

答案 1 :(得分:0)

弄清楚了。这是一个使用简单示例的语法问题。我可以使用它来使其工作:

={QUERY(Available!$A$3:$M, "select A,B,C,D,E,F,G,H,I,J,K,L,M where M like '%Blah' order by B desc");QUERY(Available!$A$3:$M, "select A,B,C,D,E,F,G,H,I,J,K,L,M where C = 'Bleh' order by B desc")}

最初,我尝试过此操作,但是使用,作为分隔符,用于使用列组合范围。为了使用行来合并范围,您需要使用;作为分隔符。