【问题标题】:How to get filterByText() to filter out blank cells如何让 filterByText() 过滤掉空白单元格
【发布时间】:2019-02-02 12:59:12
【问题描述】:

使用 ArrayLib 函数从我的结果中过滤出空白单元格,但是当我使用 numColumn 时无法过滤。

我正在调用一个包含来自一组行/列的数据的 Ui 提示,但我希望它忽略任何空白单元格。目前,当有空格时,我会得到很多逗号。

我曾尝试使用过滤器(字符串),但仅当我使用 getRange(row, col, numRows) 时,它不会过滤我的 getRange(row, col, numRows, numColumns) 中的结果。 (见下面的代码)

然后我发现了一个 ArrayLib 过滤器,有人告诉我它可以工作但仍然有相同的结果,或者它会过滤掉所有内容。

var LiDCO = ss.getRange(3, 15, 9).getValues();    
var filtered_input = LiDCO.filter(String);  

在使用多列时不起作用。

var filters = ss.getRange(3, 13, 9, 2).getValues();    
var unique_filters = ArrayLib.unique(filters);
var filtered_input1 = ArrayLib.filterByText(filters, -1, "");

要么过滤掉每个单元格,要么根本不过滤。

【问题讨论】:

  • 花时间了解Array#filter 的工作原理,而不是搜索库。
  • 哇,我刚刚浏览了这些内容,我更加困惑(我完全是新手)。我真的无法让这个过滤器正常工作。
  • 并不是说@TheMaster 错了,但是当你转移到多列时,你也转移到了ARRAYLIB。在这种情况下,过滤器是ArrayLib Documentation 的一部分。因为文档中有一个示例,您应该能够根据您的情况对其进行调整。话虽如此,但您希望在提交问题之前进行自己的研究;我认为完成 ARRAYLIB 的工作要求并不高。
  • @Tedinoz 感谢您的评论。我已经多次阅读 ArrayLib 文档并尝试了我认为可行的方法和各种其他代码组合,但没有任何乐趣。这就是我来这里寻求帮助的原因。如果有人能够帮助我,那就太好了。
  • 是的,我试过 filterByText(Object[][] data, int columnIndex, String[] values) (我的问题中的那个)但我一定做错了,我只能让它过滤一切或一无所有。我只想跳过空单元格。

标签: google-apps-script google-sheets


【解决方案1】:

感谢@Tedinoz 的建议,我使用单独的代码确保范围内的所有单元格都是唯一的,然后filterByText(unique_filters) 引用可以清除所有空单元格并包括所有numColumns

【讨论】:

  • 恭喜。您是否会发布您的最终“成功”代码,以便将来其他人不必深入研究 cmets 来解释您的答案?我也很好奇这是如何过滤掉带有空白单元格的行;有什么可以补充的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-08
  • 1970-01-01
  • 1970-01-01
  • 2022-11-26
  • 1970-01-01
  • 2011-11-18
  • 1970-01-01
相关资源
最近更新 更多