首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Sheets:查询功能& Divider/Separator

Google Sheets:查询功能& Divider/Separator
EN

Stack Overflow用户
提问于 2020-11-18 06:24:53
回答 1查看 1.7K关注 0票数 0

我一直试图寻找一个解决方案,但找不到类似的东西。

我目前正在使用查询从一个工作表获取特定值到另一个工作表,但当特定列更改值时,我尝试添加分隔符。现在看起来是这样的:

但我希望它看起来像这样:

知道我该怎么做吗?

现行公式:

代码语言:javascript
复制
=QUERY('FM - Americas'!A:J,"select E,J where (E >= date '2020-10-01') and (E <= date '2020-11-30') Order By J, E",0)

单张链接:https://docs.google.com/spreadsheets/d/1ctr_c6cJYAmRrR78aIPkneyjOZAYtfvmyZD-PpXesgA/edit#gid=862432221

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-22 00:36:27

嗯,这似乎适用于测试数据,如果您的真实数据与您所展示的非常相似,那么它可能会有帮助。

在工作表中的任何地方尝试下列公式。它返回两列。

代码语言:javascript
复制
={                                      {query(A1:B,"where B='"& index(sort(unique(B$1:B)),1,1) &"'",0)};
    IF(counta(unique(B1:B))>1,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),2,1) &"'",0)}},{"Error 2",""});
    IF(counta(unique(B1:B))>2,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),3,1) &"'",0)}},{"Error 3",""});
    IF(counta(unique(B1:B))>3,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),4,1) &"'",0)}},{"Error 4",""});
    IF(counta(unique(B1:B))>4,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),5,1) &"'",0)}},{"Error 5",""});
    IF(counta(unique(B1:B))>5,{{"",""}; {query(A1:B,"where B='"& index(sort(unique(B$1:B)),6,1) &"'",0)}},{"Error 6",""})}

这将计算列B中有多少唯一值,然后对每个唯一值进行查询。复杂性在于适当地堆叠结果。注意空行是如何添加的,就在每个IF语句检查之后。这似乎可行,但可能有一个更好或更有效的方法,有人可以建议。

有一个由{.}显示的整体数组,它开始和结束公式。每个IF语句都有一个辅助数组,其中有两个三级数组,一个用于空行,另一个用于QUERY语句结果。如果有什么不清楚的地方请告诉我。

请注意,如果B列中可能有更多可能的区域(或值),则需要扩展公式。只要根据需要重复第二行,并调整其中和最后一行中的数值,它们就会按照顺序进行。更好的错误检查也可能是有用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64888104

复制
相关文章

相似问题

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