【发布时间】:2013-08-05 20:17:51
【问题描述】:
我有一个包含两个单独工作表的 Google 电子表格。第一个只是名称和数据的大列表,第二个应该是第一张表上所有数据的排序列表(按姓氏排序)。这是我定义第二张表的当前方式:
=排序(sheet1!A2:L100, sheet1!D2:D100, TRUE)
这在大多数情况下都可以正常工作,除了一个问题:在 sheet1 中,第 4 列(D 列)中的一些单元格是空白的。如何更改公式以便排序忽略 D 列中有空白单元格的行?
我尝试过的公式但得到了不理想的结果:
-
=arrayformula(if(istext(sheet1!D2:D100), sort(sheet1!A2:L100, sheet1!D2:D100, true), ""))
它按需要排序,但有一个问题 - 空白单元格没有被推到最后,而是分散在行之间。
-
=arrayformula(sort(filter(sheet1!A2:L100, istext(sheet1!D2:D100)),sheet1!D2:D100, true))
虽然过滤器部分完美地完成了它的工作,但是当与排序结合使用时,它会给出一个错误:不匹配的范围长度。
【问题讨论】:
-
因为我迫切需要答案,所以我也在 Google 文档论坛上发布了这个查询。我希望它不会使这里的任何规则失效。
标签: sorting filter google-sheets array-filter