Board logo

標題: 符合兩個以上的條件,並顯示相關資訊 [打印本頁]

作者: 013160    時間: 2020-11-14 16:30     標題: 符合兩個以上的條件,並顯示相關資訊

[attach]32688[/attach][attach]32689[/attach]

各位版大您好,
請問如果要符合兩個以上條件的顯示出相關資訊公式應如何設定?
EX:輸入品名規格和尺寸 在下方顯示絞距/價格...資訊
作者: hcm19522    時間: 2020-11-15 10:34

https://blog.xuite.net/hcm19522/twblog/589462664
作者: 013160    時間: 2020-11-15 15:11

回復 2# hcm19522

不好意思可以解釋一下公式嗎?
作者: hcm19522    時間: 2020-11-17 17:14

回復 3# 013160


    判斷二條件符合 取列位置 再從最小位置取資料  右拉跳動式 非依序取資料 所以用CHOOSE(COLUMN(A1)
作者: Andy2483    時間: 2024-1-17 15:48

本帖最後由 Andy2483 於 2024-1-18 09:17 編輯

謝謝論壇,謝謝各位前輩
後學藉此帖練習在儲存格自動產生需求清單與次清單,學習方案如下,請各位前輩指教
選取[K2]儲存格產生清單:
[attach]37298[/attach]

[K2]選取清單後在[M2]產生次清單:
[attach]37299[/attach]

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Brr, Z, i&
With Target
   If .Address(0, 0) = "K2" Then
      Brr = Range([C2], [C65536].End(3))
      Set Z = CreateObject("Scripting.Dictionary")
      For i = 1 To UBound(Brr)
         If Trim(Brr(i, 1)) <> "" Then Z(Trim(Brr(i, 1))) = ""
      Next
      With .Validation
        .Delete
        If Z.Count > 0 Then .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Join(Z.KEYS(), ",")
        Set Z = Nothing: Brr = Empty
    End With
   End If
End With

End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Brr, Z, i&
With Target
   If .Address(0, 0) = "K2" Then
      Brr = Range([D2], [C65536].End(3))
      Set Z = CreateObject("Scripting.Dictionary")
      For i = 1 To UBound(Brr)
         If Brr(i, 1) = .Value And Trim(Brr(i, 2)) <> "" Then Z(Trim(Brr(i, 2))) = ""
      Next
      With [M2].Validation
        .Delete
        If Z.Count > 0 Then .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Join(Z.KEYS(), ",")
        Set Z = Nothing: Brr = Empty
    End With
   End If
   If .Address(0, 0) = "M2" Then Call 列出明細
End With
End Sub
作者: Andy2483    時間: 2024-1-18 09:22

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列,將符合條件的資料明細列出,學習方案如下,請各位前輩指教
執行前:
[attach]37301[/attach]

選取清單後執行結果:
[attach]37302[/attach]

Sub 列出明細()
Dim Brr, i&, K$, M$, T3$, T4$, A, N&, j%
Brr = Range([I2], [B65536].End(3)(1, 0))
Intersect([J:N], ActiveSheet.UsedRange).Offset(4).ClearContents
K = Trim([K2]): M = Trim([M2]): A = [{5,6,9,8,2}]
For i = 2 To UBound(Brr)
   T3 = Trim(Brr(i, 3)): T4 = Trim(Brr(i, 4))
   If T3 = K And T4 = M Then
      N = N + 1
      For j = 1 To 5: Brr(N, j) = Brr(i, A(j)): Next
   End If
Next
If N = 0 Then Exit Sub Else [J5].Resize(N, 5) = Brr
Brr = Empty
End Sub




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