Excel - 找到第n个匹配

时间:2016-11-18 17:24:05

标签: excel excel-formula

我创建了一个喜欢关注项目库存的内容。

我希望找到"下一个可用日期是什么?"

我找到了索引匹配函数的答案,但问题是:

对于每个订单,可以承诺的...当我的运行总计未被下一个"股票到达"如何找到"第二"最佳匹配(下次到达)..

也许我过度思考这个......

这是我的工作簿: https://drive.google.com/open?id=0BwbUB7pydqnfemQwQW9JaFoxbGs

任何人都是Excel大师?

2 个答案:

答案 0 :(得分:0)

我认为你正在寻找下一个日期?例如,L2显示下一个到达日期是11/25/16,但在该日期您可以清楚地看到它将是Not Instock。因此,您希望告诉客户什么时候会出现问题 - 请参阅列M - 其中显示了下一个到达日期的日期。

为此,我使用了“调整”范围INDEX() and MATCH()公式:=INDEX(E2:$E$17,MATCH("Instock",I2:$I$17,0))

注意 $E2周围没有I2美元符号。这将允许在复制公式时调整范围,确保先前的日期不在公式中(仅限现在和将来的日期 - 过去没有任何日期)。

Arrival Date & Next Instock Date

答案 1 :(得分:0)

您可以查看edited file。这个公式很复杂,但它考虑到了,如果第二个

会是什么

放置此数组公式并按 CTRL + SHIFT + ENTER 并填写:

=IF(K2=0,INDEX(A3:E$17,MATCH("05 - arrival",A3:A$17,0),5),IF(SUM($G$2:G2)+INDEX($G$2:$G$17,SMALL(IF($G$2:$G$17>0,ROW($G$2:$G$17)),1)-1)+INDEX($G$2:$G$17,SMALL(IF($G$2:$G$17>0,ROW($G$2:$G$17)),2)-1)>0,INDEX($E$2:$E$17,SMALL(IF($G$2:$G$17>0,ROW($G$2:$G$17)),2)-1),INDEX($E$2:$E$17,SMALL(IF($G$2:$G$17>0,ROW($G$2:$G$17)),3)-1)))

希望这会有所帮助。