仅返回Google表格QUERY中填充的单元格

时间:2016-06-10 19:46:20

标签: google-sheets

我的表格中有这个公式:

=query('Character Analysis'!$H62:$L83,"select H,I,J,K,L where H is not null order by L DESC",0)

只有前两个源行包含数据,但在带有查询公式的工作表上,它似乎是拉动范围内的所有行,即使是空行。如果我在查询公式表的第3行输入内容,它会给我一个错误说"数组结果未展开,因为它会覆盖________中的数据。"但它并不需要那个房间,因为查询结果中只有两行数据。

我尝试添加"不是null"语言,希望它将返回的结果限制为仅填充的单元格,但它不起作用。

如何告诉我的查询只从源范围内的已填充单元格中提取数据?

2 个答案:

答案 0 :(得分:0)

我想出了一个解决方法,至少在某种程度上它对我有用。这不是一个真正的答案,因为我仍然想知道为什么"不是空的"语言不起作用,但这正是我所需要的:你可以通过计算将返回的行数限制为包含数据的源行数:

=query('Character Analysis'!$H62:$L83,"select H,I,J,K,L order by L DESC limit "&COUNT('Character Analysis'!$L62:$L83)&"",0)

答案 1 :(得分:0)

根据source

你可以:

  

使用'where'子句消除空白行

     

如果使用整列定义命名范围(即包括空白行),您可能会发现这些空白出现在查询结果中(根据排序顺序,它可能位于顶部!)。要阻止这些出现,请使用此语法包含where子句(假设列A):

     

"...where A <> ' ' " (for text fields)

     

"...where A <>0" (for numeric fields)

     

这意味着'列a中的值不是零长度文本。