返回列表 上一主題 發帖

[發問] 某條件下 不重復出現項目統計

日期是什麼格式?
建議上傳檔案,
不要讓想幫忙的人再多花時間去建立測試資料!

TOP

全部〔類別〕各〔年月〕不重覆全列出來:
  1. Sub TEST()
  2. Dim Arr, Brr, xD(1 To 3), i&, T1, T2, T3, R&, C%
  3. [E:IV].Clear
  4. For i = 1 To 3: Set xD(i) = CreateObject("Scripting.Dictionary"): Next
  5. Arr = Range([A1], [C65536].End(xlUp))
  6. ReDim Brr(1 To UBound(Arr), 1 To 200): Brr(1, 1) = "類別"

  7. For i = 2 To UBound(Arr)
  8.     T1 = Replace(Left(Arr(i, 1), 6), ".", "年"): If T1 = "" Then GoTo 101
  9.     C = xD(1)(T1)
  10.     If C = 0 Then C = xD(1).Count: xD(1)(T1) = C: Brr(1, C + 1) = T1 & "月"

  11.     T2 = Arr(i, 2): If T2 = "" Then GoTo 101
  12.     R = xD(2)(T2)
  13.     If R = 0 Then R = xD(2).Count: xD(2)(T2) = R: Brr(R + 1, 1) = T2

  14.     T3 = Arr(i, 3): If T3 = "" Then GoTo 101
  15.     If xD(3)(T1 & T2 & T3) = 0 Then Brr(R + 1, C + 1) = Brr(R + 1, C + 1) + 1
  16.     xD(3)(T1 & T2 & T3) = 1
  17. 101: Next

  18. With [E4].Resize(xD(2).Count + 1, xD(1).Count + 1)
  19.      .Value = Brr
  20.      .Offset(, 1).Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo, Orientation:=xlLeftToRight '橫排序
  21.      .Offset(1, 0).Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo, Orientation:=xlTopToBottom '直排序
  22.      .Borders.LineStyle = 1
  23. End With
  24. End Sub
複製代碼

 
 
20160319(不重復統計).rar (11.51 KB)

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題