返回列表 上一主題 發帖

[發問] 多條件之判斷

[發問] 多條件之判斷

多條件之判斷.rar (4.85 KB)

多條件之判斷,敬請詳見壓縮檔。

感謝您的指導,謝謝!

回復 1# andyhang


    E24=INDEX($B$5:$F$5,,IF(ISERROR(MATCH($C24,OFFSET($A$1,MATCH($B24,$A$2:$A$4,0),1,,4),0)),5,MATCH($C24,OFFSET($A$1,MATCH($B24,$A$2:$A$4,0),1,,4),0)))
學海無涯_不恥下問

TOP

C9=IF(ISERROR(OFFSET($A$1,4,MATCH($C$7,OFFSET($A$1,MATCH(B7,A2:A4,0),1,1,4),0))),F5,OFFSET($A$1,4,MATCH($C$7,OFFSET($A$1,MATCH(B7,A2:A4,0),1,1,4),0)))
YOYO

TOP

本帖最後由 ANGELA 於 2011-4-12 13:04 編輯

c9=INDEX($B$5:$F$5,IF(SUMPRODUCT((B7=$A$2:$A$4)*(C7=$B$2:$E$4)*({1,2,3,4})),SUMPRODUCT((B7=$A$2:$A$4)*(C7=$B$2:$E$4)*({1,2,3,4})),5))
如果把F5移到A5
c9=INDEX($A$5:$E$5,SUMPRODUCT((B7=$A$2:$A$4)*(C7=$B$2:$E$4)*{1,2,3,4})+1)

TOP

都是很有學問的解法,收下,好好研究去,感謝Hsieh 、yanto913 、ANGELA 三位大大的指導,謝謝!

TOP

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

執行前:


執行結果:



Option Explicit
Sub TEST() '↑
Dim Brr, Crr, Y, i&, j&, T$, K%
'↑宣告變數
Set Y = CreateObject("Scripting.Dictionary")
'↑令Y變數是 字典
Brr = [A2:E5]
'↑令Brr變數是 二維陣列,以儲存格值帶入陣列中
K = UBound(Brr)
'↑令K變數是Brr陣列最大索引列號
For i = 1 To K
   For j = 2 To UBound(Brr, 2)
      T = Brr(i, 1) & "/" & Brr(i, j)
      Y(T) = Brr(K, j)
   Next
Next
'↑設順迴圈將資料區組合字串當key,item是類別,納入Y字典中
Brr = Range([C24], [B65536].End(xlUp))
'↑令Brr變數重新定義是 二維陣列,換裝新儲存格值
ReDim Crr(1 To UBound(Brr), 1 To 1)
'↑宣告Crr陣列是 二維空陣列,縱向範圍同Brr,橫向範圍1~1索引號
For i = 1 To UBound(Brr)
   T = Brr(i, 1) & "/" & Brr(i, 2)
   If Y(T) = "" Then
      Crr(i, 1) = "E類"
      Else
         Crr(i, 1) = Y(T)
   End If
Next
'↑設順迴圈將目標區組合字串查Y字典得到item值帶入Crr陣列中,
'如果查Y字典其item值是"",Crr陣列則寫入"E類"

[E24].Resize(UBound(Crr)) = Crr
'↑令Crr陣列值寫如結果儲存格中
Set Y = Nothing: Erase Brr, Crr
'↑令釋放變數
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 犯錯出懺悔心,才能清淨無煩惱。
返回列表 上一主題