首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >过滤通过Google中的查询动态创建的范围

过滤通过Google中的查询动态创建的范围
EN

Stack Overflow用户
提问于 2020-02-13 19:11:17
回答 2查看 91关注 0票数 1

我目前正在使用这个查询

代码语言:javascript
运行
复制
=sort({IFERROR(query('PI Calcs'!C4:K51,"select C,G,H, K where C is not null and G > 0"),{"","","",""});IFERROR(query('PI Calcs'!C54:P101,"select C,J,K,P where C is not null and J > 0"),{"","","",""});IFERROR(query('PI Calcs'!C104:P127,"select C,J,K,P where C is not null and J > 0"),{"","","",""})},2,false)

通过使用查询,我将三个区域连接在一起。我使用IFERROR是因为如果任何查询返回一个空集,那么我就不能将它们合并在一起,失败的结果是一个由4个值组成的空行。

我的困难是从最后一组中删除那些空值,因为在对这些值进行排序时,我会为每个失败的查询获得一个空行。我尝试过使用FILTER,但由于它是动态创建的,因此无法引用范围中的列。

如何将空白行筛选出动态创建的范围?是否有一种在不返回空范围的情况下查询和加入结果的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-13 21:12:11

试试这个短一点的:

代码语言:javascript
运行
复制
=QUERY(SORT({IFERROR(QUERY('PI Calcs'!C4:K51, 
 "select C,G,H,K 
  where C is not null 
    and G > 0"), {"","","",""});
 IFERROR(QUERY({'PI Calcs'!C54:P101; 'PI Calcs'!C104:P127},
 "select Col1,Col8,Col9,Col14 
  where Col1 is not null 
    and Col8 > 0"), {"","","",""}), 2, 0), 
 "where Col1 is not null", 0)

甚至更短:

代码语言:javascript
运行
复制
=QUERY({'PI Calcs'!C54:P101; 'PI Calcs'!C104:P127; 
 {'PI Calcs'!C4:I51, 'PI Calcs'!G4:L51,'PI Calcs'!K4:K51}},
 "select Col1,Col8,Col9,Col14 
  where Col1 is not null 
    and Col8 > 0
  order by Col2 desc", 0)
票数 1
EN

Stack Overflow用户

发布于 2020-02-13 19:48:13

为什么不查询你的查询呢?

代码语言:javascript
运行
复制
=QUERY({IFERROR(query('PI Calcs'!C4:K51,"select C,G,H, K where C is not null and G > 0"),{"","","",""});IFERROR(query('PI Calcs'!C54:P101,"select C,J,K,P where C is not null and J > 0"),{"","","",""});IFERROR(query('PI Calcs'!C104:P127,"select C,J,K,P where C is not null and J > 0"),{"","","",""})},"where Col1 is not null order by Col2 desc",0)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60214935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档