【发布时间】:2019-06-02 16:30:23
【问题描述】:
问题
对于下面的数据,是否有一种方法可以返回结果(对于 B 列中的每个订单):
- 如果订单(例如订单 10021)的最新状态 [col D] 已关闭,则返回该行。
- 如果不是,则返回该订单自最近关闭状态以来的每一行(例如订单 10020,第 4 行和第 5 行)。
以前的努力和尝试的解决方案
以前,我只返回一个结果,每个订单的最新状态如下:
=SORTN(SORT(A2:D,1,FALSE),9^9,2,2,FALSE)
但是,我希望订单可以有多个当前状态。
我已经尝试了一些事情,并且能够实现我正在寻找的东西,不幸的是只有一个订单,以下是:
(下面的链接表解释了我是如何做到这一点的)
=IFERROR(FILTER(A2:D5,A2:A5>INDEX(SORT(FILTER(A2:D5,D2:D5="CLOSED"),1,0),1,1)),FILTER(A2:D5,A2:A5>=INDEX(SORT(FILTER(A2:D5,D2:D5="CLOSED"),1,0),1,1)))
我能想到的另一种选择是带有循环的脚本。
总结
很难知道如何为这个问题命名,但我们之所以提出这个问题,是因为本质上我们是在尝试过滤 col B 的唯一性,条件是 col A 和 D。
Here's a link 到您可以编辑的示例 Google 电子表格中,其中显示了所有尝试。
非常感谢您的所有帮助和 cmets!
【问题讨论】:
-
请添加所需输出的示例
-
@player0 当然,添加到工作表底部。如果你是这个意思,请告诉我。
标签: filter google-sheets google-sheets-formula array-formulas gs-vlookup