Board logo

標題: 請教如何統計個別人員的不重複股票清單 [打印本頁]

作者: peter460191    時間: 2021-6-28 13:49     標題: 請教如何統計個別人員的不重複股票清單

本帖最後由 peter460191 於 2021-6-28 13:50 編輯

請教如何統計個別人員的不重複股票清單,不好意思!附件上傳不了~~
[attach]33468[/attach]
作者: samwang    時間: 2021-6-28 16:23

回復 1# peter460191

請測試看看,謝謝。

Sub test()
Dim Arr, xD, xD1, T, TT, i&
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
Arr = Range("A1:B" & [A65536].End(3).Row)
For i = 2 To UBound(Arr)
    T = Arr(i, 2): TT = Arr(i, 1) & T: xD(T & "") = ""
    If Not xD1.Exists(TT) Then
        xD1(TT & "") = xD1(TT & "") + 1
        xD1(T & "") = xD1(T & "") + xD1(TT & "")
    End If
Next
Range("E2").Resize(xD.Count) = Application.Transpose(xD.keys)
With Range("D2").Resize(xD.Count, 3)
    .Sort key1:=.Item(2), Header:=xlNo
    Arr = .Value
    For i = 1 To UBound(Arr)
        T = Arr(i, 2): Arr(i, 1) = i: Arr(i, 3) = xD1(T & "")
    Next
    .Value = Arr
End With
End Sub
作者: peter460191    時間: 2021-6-29 11:03

回復 2# samwang
好像不行,今天試著重新上傳,還是不能上傳檔案,所以只能卡圖,抱歉!

[attach]33474[/attach]
作者: singo1232001    時間: 2021-6-29 11:16

回復 1# peter460191


    如果理解沒錯 範例 A項 是否為6才對? 而非5
作者: peter460191    時間: 2021-6-29 12:32

回復 4# singo1232001
了解,謝謝!~~
作者: samwang    時間: 2021-6-29 12:44

回復 3# peter460191


如附件請測試看看,謝謝。
作者: peter460191    時間: 2021-6-29 13:25

回復 6# samwang

samwang非常謝謝你~~
另請教一下,這種情形有辦法不用VBA寫,用一般函數或矩陣寫嗎?
作者: hcm19522    時間: 2021-6-29 14:05

https://blog.xuite.net/hcm19522/twblog/589860035
作者: samwang    時間: 2021-6-29 15:13

本帖最後由 samwang 於 2021-6-29 15:16 編輯

回復 7# peter460191

加了用函數方式表示,請再測試看看,謝謝
作者: peter460191    時間: 2021-6-29 16:35

回復 8# hcm19522
非常謝謝 hcm19522
可以了,函數也可以了,你們真是太強了,要花一點時間來研究VBA&函數的兩種寫法
再一次謝謝你們.
作者: peter460191    時間: 2021-6-29 16:36

回復 8# hcm19522
謝謝您~~
可以用了,要花點時間來研究了..
作者: peter460191    時間: 2021-6-30 13:42

回復 8# hcm19522
請問hcm19522
若範圍不固定要如何改函數,因為只要有空的儲存格時就不能計算了 !
作者: hcm19522    時間: 2021-6-30 14:07

回復  hcm19522
請問hcm19522
若範圍不固定要如何改函數,因為只要有空的儲存格時就不能計算了 !
peter460191 發表於 2021-6-30 13:42



    {=IFERROR(INDEX(A:A,RIGHT(SMALL(IF(MATCH($A$2:$A$99&$B$2:$B$99,$A$2:$A$99&$B$2:$B$99,)=ROW($1:$98),MATCH($B$2:$B$99&"",$E$2:$E$7&"",)/1%%+ROW($2:$99)),ROW(A1)),4))&"","")
作者: peter460191    時間: 2021-7-1 10:51

回復 13# hcm19522
計算出來是個股名稱,不是統計後的數量,是我哪裡弄錯了嗎?
作者: hcm19522    時間: 2021-7-1 12:05

回復 14# peter460191


    {=SUM(IFERROR((B$2:B$99=E2)/COUNTIFS(A$2:A$99,A$2:A$99,B$2:B$99,B$2:B$99),))
作者: peter460191    時間: 2021-7-1 12:55

回復 15# hcm19522

可以用了,常感謝您! hcm19522
你們真的好厲害喔!




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