Board logo

標題: [發問] 條件加總 [打印本頁]

作者: ziv976688    時間: 2020-11-29 15:23     標題: 條件加總

[attach]32727[/attach]
當AB1:BX1<>”",且有出現在$D$2:$Z$70時,則將該數字在C欄的次數加總,依序填入AB2:BX2。
EX : AB2=1,AC2=3,AD2=6,AE2=4,AF=2,……其餘類推。
請問︰AB2的Excel 2003版公式要如何編寫 ?
謝謝 !
PS : 因為計算範圍不固定,所以將計算範圍擴大預留。

[attach]32728[/attach]
作者: samwang    時間: 2020-11-30 08:00

回復 1# ziv976688


    AB2=COUNTIF($D:$Z,AB1)
作者: ziv976688    時間: 2020-11-30 09:11

本帖最後由 ziv976688 於 2020-11-30 09:17 編輯

回復 2# samwang
謝謝您的回覆,但您忽略了C欄的倍數。

我是因為$D$Z$70的各數字不一定是單一個,且C欄的對應各次數的對應數字也不是單一個 ,所以AB2符合需求的公式,我寫不出來 ^^"
作者: jcchiang    時間: 2020-11-30 13:00

本帖最後由 jcchiang 於 2020-11-30 13:12 編輯

回復 3# ziv976688

Sub ex()
Dim d As Object
Dim a, x%
Set d = CreateObject("Scripting.Dictionary")
For Each a In Range([c2], [c65535].End(3))
   For x = 1 To 20
      If a.Offset(, x).Value <> "" Then
         If Not d.exists(a.Offset(, x).Value) Then
            d(a.Offset(, x).Value) = a
         Else
            d(a.Offset(, x).Value) = d(a.Offset(, x).Value) + a
         End If
      Else: Exit For
      End If
   Next
Next
For Each a In Range("AB1:BU1")
   If d.exists(a.Value) Then a.Offset(1) = d(a.Value)
Next
Set d = Nothing
End Sub
作者: samwang    時間: 2020-11-30 13:31

回復 3# ziv976688

請再確認是否為您的需求,感謝。

Sub tt()
Dim Arr, xD, Drr, i&, j&, s%
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([Z1], [C65536].End(3))
For i = 2 To UBound(Arr)
    For j = 2 To UBound(Arr, 2)
        T = Arr(i, j)
        If T = "" Then GoTo 100
        xD(T) = xD(T) + Arr(i, 1)
100: Next
Next
Drr = Range([AB1], [AB1].End(2))
For j = 1 To UBound(Drr, 2)
    T1 = Drr(1, j)
    Drr(1, j) = xD(T1)
    s = s + 1
Next
Range("AB2").Resize(, s) = Drr
End Sub
作者: ziv976688    時間: 2020-11-30 14:27

回復 4# jcchiang
J大:
測試OK
非常感謝您的幫忙
作者: ziv976688    時間: 2020-11-30 14:28

回復 5# samwang
S大:
測試OK
非常感謝您的幫忙
作者: hcm19522    時間: 2020-11-30 14:54

本帖最後由 hcm19522 於 2020-11-30 14:57 編輯

=SUMPRODUCT(MMULT(N(AB1=$D2:$Z70),ROW(1:23)^0)*(0&$C2:$C70))
作者: ziv976688    時間: 2020-11-30 15:08

回復 8# hcm19522
h大:
測試OK
再次謝謝您的耐心幫忙~感恩

請問 :   ROW(1:23)^0 是指什麼範圍?
懇請賜教。謝謝您!
作者: ziv976688    時間: 2020-11-30 15:19

回復 8# hcm19522
h大:
按F9後,已瞭解 ROW(1:23)^0  的意涵範圍了~謝謝您




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