尝试仅查询非空白单元格中的数据

时间:2014-04-29 15:01:05

标签: google-sheets

我有一张包含2张的谷歌电子表格。第一个工作表包含由表单输入的数据。每个表单响应将输入以下“Timestamp”,“Zone”,“NPC”,“Faction”,“Amount”,“Faction2”,“Amount2”,“Faction3”,“Amount3”,“Faction4”,“ Amount4“,”Faction5“,”Amount5“。

第1行包含每个响应输入的上述类别名称。不幸的是,表单的工作方式是每个响应都根据开始时选择的区域放入其自己的列中,因为每个区域对类别都有不同的可能响应。因此,数据从列C扩展到列HC。每行只对每个类别名称有一个响应,但类别名称会重复并展开。

我一直在Sheet2中使用以下查询来从工作表中的E1下拉列表中选择的“区域”中提取信息。

 =if(len(E1)=0,"Please Select a Zone in E1",query('Form Responses'!A2:IS,"Select * Where B = """&E1&""" "))

问题是它返回Selected区域的整个Row,因此以下信息不会排列。有什么办法让我只返回来自行中有数据的行的信息。然后,这将数据排列到Sheet2的正确列

下面是表格的链接,其中包含一些样本数据,Cobalt Scar选项排列为响应位于数据表的相应列中,但Crystal Caverns和Western Wastes不会。您可以更改所选区域以在Sheet2 E1中查看结果。 此表也是一份副本,可由公众编辑。

https://docs.google.com/spreadsheet/ccc?key=0AqEFpZnTydP-dFNNOV9sRzNRSldDUXRJX1pqSFZRYkE&usp=sharing

1 个答案:

答案 0 :(得分:0)

我还没有找到这种问题的优雅解决方案,但这并不意味着它无法解决。

我在工作表上创建的解决方案很容易管理(只需要使用区域/列表更新工作表),但它确实占用了更多的内存。

工作原理:
ArrangedData选项卡是表单响应中的前2列,然后是“适当的”列(基于在sheet2上进行的选择;它从sheet5上的查找中选择列)。

然后将ArrangedData过滤(再次基于sheet2上的选择)到sheet2。

如果您对此有任何疑问,请与我们联系。