如果您在 google 工作表 中有一组数据,其中包含以下列:-
客户ID
订购日期
产品
成本
有没有办法使用 filter 来仅显示包含每个客户的 latest 订单的行?
我不知何故认为可能有一个简单的答案,但它却让我无法理解。
我尝试寻找现有的解决方案,但找不到。
你可以使用这样的东西:
=CHOOSEROWS(QUERY(A1:D;"SELECT * WHERE A <> '' ORDER BY A ASC, B ASC");1;ARRAYFORMULA(MATCH(UNIQUE(QUERY(A2:D;"select Col1 WHERE Col1 <> ''"));QUERY(QUERY(A1:D;"SELECT * ORDER BY A ASC, B ASC");"select Col1 WHERE Col1 <> ''");1)))
首先你会得到带有UNIQUE的ID列表。 然后,您在数组中查找已排序的每个 ID(按 ID 和日期)。请注意,MATCH 末尾有“1”而不是“0”来查找最后一次出现的 ID。最后,您可以使用 CHOOSEROWS 选择感兴趣的行以及之前在 MATCH 步骤中找到的索引。
该公式应适用于排序(或未排序)数组+“增长”数组。