Board logo

標題: 帶出對應值 [打印本頁]

作者: PJChen    時間: 2019-12-7 20:50     標題: 帶出對應值

Dear,

飛比.sheet的料號跟這個工作表相同時
且飛比.sheet的EU:EX欄,出現711 (會在EU:EX欄中變動,不是固定的)
則從飛比.sheet的FK:FN欄,找到對應的值,帶入到F欄中
飛比.sheet的EY:FJ欄是盤點數據
若711出現在CK_1,則把相對應的日期1的日期帶入C欄的日印
也就是711是一個依據,帶出
如同現在C欄及F欄帶出的範例值(當然這裡的料號也會變動)
請問要在這2欄如何下公式?
[attach]31524[/attach]
作者: 准提部林    時間: 2019-12-8 11:19

本帖最後由 准提部林 於 2019-12-8 11:23 編輯

C3/陣列公式:
=IFERROR(HLOOKUP(711,VLOOKUP(A3,飛比!F:FH,{146,147,148,149;150,153,156,159},),2,),"")
=IFERROR(HLOOKUP(711,VLOOKUP(A3,飛比!F:FH,145+{1,2,3,4;5,8,11,14},),2,),"")

F3/陣列公式:
=IFERROR(HLOOKUP(711,VLOOKUP(A3,飛比!F:FN,{146,147,148,149;162,163,164,165},),2,),"")
=IFERROR(HLOOKUP(711,VLOOKUP(A3,飛比!F:FN,{145;161}+{1,2,3,4},),2,),"")
作者: PJChen    時間: 2019-12-8 11:58

回復 2# 准提部林

感謝准大,
為了這2個公式,已經試了一個多月,都沒結果,感謝您...
作者: PJChen    時間: 2022-1-4 22:53

回復 2# 准提部林
准大好,
想請教一個類似的對應問題,
[attach]34568[/attach]
1..        B:E為判斷的來源,小於0 或者B:E全空白,則帶出A欄的日期
2..        列3著色相同的,是對應的欄位
3..        B欄數值>=0,則帶出F欄的值
        當B欄值>0,則看C欄,依此類推
4..        B:E有時會有文字W及特別的數字711
        這2個值視為符合條件
        例如:B26=711,則帶出1/18
        B29=W,則帶出對應值1/18
5..        原本想用match,但B4的索引值,要如何讓它可以
        小於0 或者B空白,則跳C4,依此類推....
         S3=CHOOSE(MATCH(B4,B4:E4,),F4,I4,L4,O4)
作者: 准提部林    時間: 2022-1-5 13:33

回復 4# PJChen

陣列公式
=IFERROR(CHOOSE(MATCH(1=1,--(B4:E4&0)>0,),F4,I4,L4,O4),A4)
作者: PJChen    時間: 2022-1-5 20:11

回復 5# 准提部林
准大好,

我修改了檔案,用以測試
當B:E出現W的文字時,無法帶出正確的對應值
[attach]34574[/attach]
[attach]34575[/attach]
作者: 准提部林    時間: 2022-1-6 13:24

本帖最後由 准提部林 於 2022-1-6 13:26 編輯

回復 6# PJChen


=IFERROR(CHOOSE(MATCH(1=1,--TEXT(B4:E4&0,"0;;;!1")>0,),F4,I4,L4,O4),A4)

=IFERROR(CHOOSE(MATCH(1,--TEXT(B4:E4&0,"1;;;!1"),),F4,I4,L4,O4),A4)
作者: PJChen    時間: 2022-1-6 19:46

回復 7# 准提部林
准大好,
以下紅色是手誤,之前打錯了,以下為正確!
B欄數值>=0,則帶出F欄的值
當B欄<0,則看C欄,依此類推
[attach]34578[/attach]
這二個寫法,當B欄為0,會帶出I欄的值,而不是F欄
作者: 准提部林    時間: 2022-1-6 20:29

回復 8# PJChen


=IFERROR(CHOOSE(MATCH(1,--TEXT(IF(B4:E4="",-1,B4:E4),"1;;1;!1"),),F4,I4,L4,O4),A4)
作者: PJChen    時間: 2022-1-6 21:10

回復 9# 准提部林

准大,

執行沒問題了,能否幫忙解說下語法?
=IFERROR(CHOOSE(MATCH(1,--TEXT(IF(B4:E4="",-1,B4:E4),"1;;1;!1"),),F4,I4,L4,O4),A4)
作者: 准提部林    時間: 2022-1-7 12:21

回復 10# PJChen

TEXT(???,"正數;負數;零;文字")

TEXT(IF(B4:E4="",-1,B4:E4),"1;;1;!1")
空格--轉成-1
正數以1表示, 負數"", 零以1表示, 文字以1表示
作者: Andy2483    時間: 2023-1-5 15:05

本帖最後由 Andy2483 於 2023-1-5 15:09 編輯

回復 6# PJChen


    謝謝前輩發表此主題與範例
今天學習 http://forum.twbts.com/thread-23571-1-1.html  此帖初次學到Switch 函數,
後學藉此帖練習VBA Switch 函數,請參考
謝謝 准提部林前輩

執行前:
[attach]35726[/attach]

執行結果:
[attach]35727[/attach]

Option Explicit
Sub 帶出對應值_1()
Dim Brr, i&, j&, K%, S$
Brr = Range([比菲多!Q4], [比菲多!A65536].End(3))
For i = 1 To UBound(Brr)
   ReDim T(1 To 5)
   For j = 1 To 5
      T(j) = Val(Replace(Brr(i, j), "W", 1))
   Next
   K = Switch(T(2) > 0, 6, T(3) > 0, 9, T(4) > 0, 12, T(5) > 0, 15, T(1) > 0, 1)
   Brr(i, 1) = Brr(i, K)
Next
[W:W].ClearContents
[比菲多!W4].Resize(UBound(Brr), 1) = Brr
Set Brr = Nothing: Erase T
End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)