返回列表 上一主題 發帖

[發問] 帶入對應的日期

[發問] 帶入對應的日期

各位學長姐好
我想在sheet(WIP)加入交期欄位(圖一)
帶入的規則是
先看預定完成日的日期
越舊的優先出貨
再比對sheet(交期)A欄的料號(圖二)
相同的料號在未滿足交期數量(C欄)前
都帶入B欄的交期
滿足後再帶入下一個日期
例如
(圖一)sheet(WIP)列2
料號0201-ACR-041,數量96。比對sheet(交期)後
sheet(WIP) D2應帶入"2020/5/8"
在還沒滿足sheet(交期)C7 的250數量前
sheet(WIP)裡同為"0201-ACR-041"料號的都帶入"2020/5/8"
以上說明
請各位幫忙了,感恩!!!

圖一.png (19.51 KB)

圖一.png

圖二.png (42.31 KB)

圖二.png

測試.rar (24.27 KB)

{=MIN(IF((交期!$A$2:$A$99=A2)*(SUMIF(A$2:A2,A2,C$2:C2)<=SUMIF(OFFSET(交期!A$2,,,ROW($1:$98)),交期!A$2:A$99,交期!C$2:C$99)),交期!B$2:B$99))
google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

回復 2# hcm19522


感謝hcm19522大
可以帶入了
但沒有出貨交期的料號都會帶入"1900/1/0"
請問怎麼解決??
我想的解決方案是
如果算出是"1900/1/0"的欄位
就帶入sheet(WIP)B欄的日期
這樣要怎麼寫函數??
再麻煩了!!
謝謝

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列與字典,學習方案如下,請各位前輩指教

交期表:


WIP表執行前:


WIP表執行結果:



Option Explicit
Sub TEST() '↑
Dim Arr, Brr, Crr, V$, Y, R&, i&, S&, T1$, T3$
Set Y = CreateObject("Scripting.Dictionary")
Brr = Range([交期!C2], [交期!A65536].End(xlUp))
For i = 1 To UBound(Brr): Y(Brr(i, 1)) = Y(Brr(i, 1)) & "/" & i: Next
Crr = Range([WIP!C2], [WIP!A65536].End(xlUp))
ReDim Arr(1 To UBound(Crr), 1 To 1)
For i = 1 To UBound(Crr)
   T1 = Crr(i, 1): T3 = Crr(i, 3)
   If Y(T1) = "" Then Arr(i, 1) = "無訂單": GoTo i01
i00: S = Y(T1 & "|餘量")
   If S <= 0 Then
      V = Mid(Y(T1), InStr(Y(T1), "/") + 1) & "/": R = Val(V)
      If R = 0 Then Arr(i, 1) = "無續單": GoTo i01
      Y(T1) = V: Y(T1 & "|餘量") = Brr(R, 3) + S
      If Y(T1 & "|餘量") <= 0 Then GoTo i00
      Y(T1 & "|交期") = Brr(R, 2)
   End If
   Arr(i, 1) = Y(T1 & "|交期")
   Y(T1 & "|餘量") = Y(T1 & "|餘量") - Crr(i, 3)
i01: Next
[WIP!D2].Resize(UBound(Arr)) = Arr
Set Y = Nothing: Erase Arr, Brr, Crr
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 一句溫暖的話,就像往別人身上灑香水,自己會沾到兩三滴。
返回列表 上一主題