ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ¸ê®Æ¾ã²z»P²Î­p

  1. Sub test_1()
  2. Dim xD As Object, Arr, Brr, V, N&, U%, i&, j%, k%, Km%
  3. Set xD = CreateObject("Scripting.Dictionary")
  4. s = Array(1, 5, 10, 15, 20, 30, 40, 50, 100, 200, 400, 600, 800, 1000, 2000, 3000, 60000)
  5. Arr = Range("A8:C" & [A65536].End(3).Row)

  6. ReDim Brr(1 To UBound(Arr), 1 To UBound(s) * 4 + 1)
  7. del
  8. For i = 1 To UBound(Arr)
  9.     V = Arr(i, 1): U = xD(V)
  10.     If U = 0 Then N = N + 1: U = N: xD(V) = N: Brr(U, 1) = V
  11.     For j = 2 To 3
  12.         Km = 0
  13.         For k = 0 To UBound(s)
  14.             If s(k) * 1000 > Arr(i, j) Then Km = (k - 1) * 4: Exit For
  15.         Next k
  16.         If Km >= 0 Then
  17.            Brr(U, Km + j * 2 - 2) = Brr(U, Km + j * 2 - 2) + Arr(i, j)
  18.            Brr(U, Km + j * 2 - 1) = Brr(U, Km + j * 2 - 1) + 1
  19.         End If
  20.     Next j
  21. Next i
  22. With [D8].Resize(N, UBound(s) * 4 + 1)
  23.      .Value = Brr
  24.      .Sort Key1:=.Item(1), Order1:=xlDescending, Header:=xlNo
  25. End With
  26. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : §g¤l¬°¥Ø¼Ð¡A¤p¤H¬°¥Øªº¡C
ªð¦^¦Cªí ¤W¤@¥DÃD