Google表格查询/过滤器的列不为空

时间:2018-11-07 07:49:19

标签: google-sheets

我正在处理某个文档,该文档从Non Google表单获取数据,输出为36列,但始终会填充8个最大9列,中间有空列,我们的表单无法更改数据的显示方式输出。空列在这里,因为客户填写了特定类型的订单,因此数据被放入特定列中。

我需要查询从主表中提取数据,并仅输出特定的5个特定列(这些列将始终位于同一位置),以及2个可以在两者之间的任何位置的列。

写下每一列都不是完美的,因为我需要一次又一行地逐行提取数据(我将在最终查询输出之间添加数据),并且这样会极大地减慢文件速度,增加数百个输入每个星期。

我没有找到将过滤器和查询组合在一起以完成此工作的工作方法(删除空列[<>''且不为null]。

有人可以帮我吗?

提供文件链接:https://docs.google.com/spreadsheets/d/1SDR939yUSq9trLcxBid9AQeZUn-lNNiRr7O7pDiu888/edit?usp=sharing

2 个答案:

答案 0 :(得分:0)

您的答案确实在标题中。您可以为每一行使用=filter([Range], [Range]<>""),以在所需的输出中达到此目的。过滤器功能非常适合此应用程序。

更新: 查看工作表以更好地了解问题。您需要一些here所示的通配符解决方法,作为识别日期和可配置单元格的第二个条件:=filter([Range], [Range]<>"", search("Date", [Top row]))

答案 1 :(得分:0)

在工作表“所需输出”的单元格M1中,尝试输入这个小怪兽

=Arrayformula(query({'Raw data'!A:Z\
{"Configurable list"; 'Raw data'!D2:D&'Raw data'!F2:F&'Raw data'!H2:H&'Raw data'!J2:J&'Raw data'!L2:L&'Raw data'!P2:P&'Raw data'!R2:R&'Raw data'!T2:T&'Raw data'!V2:V}\
{"Date"; ('Raw data'!E2:E&'Raw data'!G2:G&'Raw data'!I2:I&'Raw data'!M2:M&'Raw data'!O2:O&'Raw data'!Q2:Q&'Raw data'!S2:S&'Raw data'!U2:U&'Raw data'!W2:W)+0}}; 
"Select Col1, Col2, Col3, Col26, Col28, Col24, Col27 Where Col1 is not null format (Col28) 'dd.mm.yyyy'"))

看看这是否适合您?