首页 > 解决方案 > 如何仅从范围中获取过滤后的值?

问题描述

我有一张包含一些数据的表格。第一列包含 ID,即按升序排列的一系列连续数字(ID:1、2、3、4、5),第二列包含未排序的名称(NAME:C、B、A、D、E)。在我应用任何过滤器.getSelection().getCurrentCell().getValues().getDisplayValues()函数返回所需单元格的正确内容之前。

然后我将过滤器应用于两列并按字母顺序对第二列进行排序。第一个 col 变为:ID:3、2、1、4、5。例如,我从第一行( 3A )中选择项目,但脚本返回我在应用过滤器( 1C )之前在这些单元格中的值。

所以我基本上需要获取应用过滤器后出现的选定值。

标签: google-apps-scriptgoogle-sheetsfilterscripting

解决方案


过滤器用于从视图中隐藏数据。不可能通过任何.get*()方法获取该数据。但是,所有range.copy*()方法都会将过滤后的值复制到所需的范围。如果您的用例是复制,请使用

如果您需要直接访问脚本操作的值,您可以:


推荐阅读