2016-11-18 139 views
2

我創建了一個喜歡跟蹤物品的庫存。Excel - 找到第n個匹配

我在找「下一個可用日期是什麼?」

我發現我的一個指數匹配函數的答案,但問題是:

對於每一個訂單,有什麼可承諾......當我運行總計未覆蓋的下一個「股票到達」如何找到 「第二屆」 最佳匹配(下一個到達)..

也許我該得太多..

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

任何人是一個Excel大師?

+0

請務必填上滿意的答案,並將答案標記爲解決方案。這是一種「謝謝」,您可以免費獲得幫助。 –

+0

一旦找到答案,我會的!乾杯 –

+0

我更新了我的答案 – bzimor

回答

0

您可以檢查edited file。這個公式是非常comlicated,但考慮到會是什麼,如果第二

將這個數組公式,按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))) 

希望這會有所幫助。

+0

嗨,我明白了,但我不確定如何使用這列L的每一行..你有一個例子嗎? –

+0

檢查我上面附上的文件 – bzimor

0

我認爲你正在尋找下一個日期?例如,L2顯示下一個到達日期是11/25/16,但在該日期,您可以清楚地看到它將是Not Instock。所以,相反,您想告訴客戶什麼時候會發貨 - 參見M列 - 它顯示了下一次到貨日期的日期。

要做到這一點,我用了 '調整' 範圍INDEX() and MATCH()公式:=INDEX(E2:$E$17,MATCH("Instock",I2:$I$17,0))

注意大約有E2I2沒有$美元符號。這將允許範圍在公式被複制時進行調整,確保以前的日期不在公式中(只有現在和將來的日期 - 過去沒有)。

Arrival Date & Next Instock Date

+0

嗨,是和不是,我明白你的意思,但我需要考慮RunTotal是否被覆蓋。 H2和H3的數量在11月25日抵達時涵蓋,但在H4下一抵達不足以支付訂單,因此下一個可用日期應爲1月27日。 –

+0

實際上在M2和M3 Instock日期應該是NOV 25日,因爲nov 25日到達正在覆蓋RunTotal。 –

+0

我明白你的意思了......我想你可以用數組公式(Ctrl + Shift + Enter)來做到這一點,但它可能是宏或UDF。 – CRUTER