- ©«¤l
 - 1527 
 - ¥DÃD
 - 40 
 - ºëµØ
 - 0 
 - ¿n¤À
 - 1551 
 - ÂI¦W
 - 0  
 - §@·~¨t²Î
 - Windows  7 
 - ³nÅ骩¥»
 - Excel 2010 & 2016 
 - ¾\ŪÅv
 - 100 
 - ©Ê§O
 - ¨k 
 - ¨Ó¦Û
 - ¥xÆW 
 - µù¥U®É¶¡
 - 2020-7-15 
 - ³Ì«áµn¿ý
 - 2025-11-4 
 
  | 
                
ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú 
¥H¤U¬O½m²ß±q¦r¨å¤¤´£¨ú¸ê®Æ¨ì·s¼Wµù¸Ñªº¤è®×,½Ð¦U¦ì«e½ú«ü±Ð 
 
°õ¦æµ²ªG: 
 
 
 
 
Option Explicit 
Sub TEST1() 
Dim Brr, Crr(1 To 1000, 1 To 5), A, V, Z, K, i&, N&, R&, X&, T$, T1$, T2$, T3$, T4$, xR As Range 
Set Z = CreateObject("Scripting.Dictionary") 
Application.Goto [©³½Z!H1:O1] 
[I:O].Delete 
Brr = Range([E1], [B65536].End(3)(1, 0)) 
For i = 2 To UBound(Brr) 
   T1 = Format(Brr(i, 1), "YYYY/MM/DD"): T2 = Brr(i, 2): T3 = Brr(i, 3) 
   V = Val(Brr(i, 5)) 
   T4 = Brr(i, 4) 
   If T3 = "®M¥ó¤÷¶µ" Then 
      T = T4 
      If Not Z.Exists(T) Then 
         Z(T) = Crr: A = Crr 
         N = N + 1: Z(T & "/") = N 
         Brr(N, 1) = T: Brr(N, 2) = V 
         Else 
            A = Z(T) 
            Brr(Z(T & "/"), 2) = Brr(Z(T & "/"), 2) + V 
      End If 
      GoTo i01 
   End If 
   R = Z(T & "/" & T4) 
   If R = 0 Then 
      Z(T & "|") = Z(T & "|") + 1 
      A(Z(T & "|"), 1) = T4 
      A(Z(T & "|"), 2) = T 
      Z(T & "/" & T4) = Z(T & "|") 
      Z(T & "/" & T4 & "//") = "¤é´Á              ³æ¾Ú½s¸¹                  ²£«~Ãþ«¬   ª«®Æ½s½X          ¹êµo¼Æ¶q" 
      R = Z(T & "|") 
   End If 
   A(R, 3) = A(R, 3) + V 
   Z(T) = A 
   Z(T & "/" & T4 & "//") = Z(T & "/" & T4 & "//") & vbLf & Join(Array(T1, T2, T3, T4, V), "__") 
i01: Next 
Set xR = [I2] 
For Each K In Z.Keys 
   If IsArray(Z(K)) Then 
      xR.Resize(Z(K & "|"), 3) = Z(K) 
      Set xR = xR(Z(K & "|") + 1) 
      X = X + Z(K & "|") 
   End If 
Next 
With [H2].Resize(X, 4) 
   .Sort KEY1:=.Item(2), Order1:=1, Key2:=.Item(3), Order2:=1, Header:=2 
   .Columns(1) = "=""®M®Æ"" &COUNTIF($I$2:I2,I2)" 
   For i = 1 To X 
      T = Z(.Cells(i, 3) & "/" & .Cells(i, 2) & "//") 
      With .Cells(i, 2).AddComment 
         .Text Text:=T 
         .Shape.TextFrame.Characters.Font.Size = 12 
         .Shape.DrawingObject.AutoSize = True 
      End With 
   Next 
End With 
[H1:O1] = Array("®M®Æ", "®M¥ó¤l¶µ", "®M¥ó¤÷¶µ", "¹êµo¼Æ¶q", , , "®M¥ó¤÷¶µ", "¹êµo¼Æ¶q") 
With [N2].Resize(N, 2) 
   .Value = Brr 
   .Sort KEY1:=.Item(1), Order1:=1, Header:=2 
End With 
[H:O].Columns.AutoFit 
End Sub |   
 
 
 
 |