我有一张包含35列和1000多行的Google工作表。我想从列号5中仅提取唯一数据,并将所有剩余的34个相应值提取到新工作表中。我的第4行是日期列,因此,当第5列的唯一值被提取到新工作表时,日期应该是最新的。
答案 0 :(得分:1)
我在Quora上为你回答了这个问题,但由于没有其他人在这里得到答案,我想我会发布双重帖子以便为将来的Google搜索提供进一步的帮助。
下面的代码是一个基本模板,可以解决您的问题,但我会进一步详细介绍,以帮助您了解它正在做什么以及它是如何工作的。
=FILTER(
SORT(Work!A:D,1,FALSE),
SORT(Work!A:A,1,FALSE) = UNIQUE(SORT(Work!A:A,1,FALSE))
)
=FILTER(range to be filtered, conditions that dictate what will pass the filter, more conditions)
=SORT(Range, by column, (true = ascending,false = descending (reverse) order))
因此,我们应用FILTER并使用第一个SORT来指示整个工作表按相反的顺序排序(我使用了相反的顺序,因为我的日期按顺序排列,就像从表单输入的数据或大多数情况一样标准电子表格设置)。如果您的工作表已经以反向日期顺序设置,那么您可以删除所有SORT公式并说出如下内容:
=FILTER(Work!A:D,Work!A:A = UNIQUE(Work!A:A))
现在,在我的例子中,我写道:
SORT(Work!A:D,1,FALSE)
这里要注意的重要部分是,由于这是过滤器的一部分,它定义了我们希望返回的范围,因此必须指定要在输出中看到的所有行。我把工作!A:D,因为那是我正在使用的工作表的大小。由于您使用的是35列,我相信您会使用A:AI。
接下来,您只标识要唯一排序的列,并通过指定SORT(Sheet!DesiredColumn:DesiredColumn,1,FALSE)来执行此操作。工作表的每个部分必须按相同方向排序才能获得正确的结果。
最后,我们将排序列与同一排序列的UNIQUE数组进行比较,这就是SORT(Work!A:A,1,FALSE) = UNIQUE(SORT(Work!A:A,1,FALSE))
的原因。
这只是将行与其自身的唯一版本进行比较,并且只会按指定的顺序返回唯一选项,以便首先获取最新的条目。 通过将唯一排序的条目作为排除参数提供给主过滤器范围,您将能够检索所需列中每个唯一条目的整行。 所以,你的最终公式可能看起来像:
=FILTER(
SORT(Sheet1!A:AI,1,FALSE),
SORT(Sheet1!E:E,1,FALSE) = UNIQUE(SORT(Sheet1!E:E,1,FALSE))
)
其中Sheet1是您要对数据进行排序的工作表的名称。 希望能够帮助您现在和将来解决数据问题。