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

½Ð°Ý¦p¦ó­pºâ¥X²{¦¸¼Æ, ¦ý¦h©ó¤@­Ó±ø¥ó

½Ð°Ý¦p¦ó­pºâ¥X²{¦¸¼Æ, ¦ý¦h©ó¤@­Ó±ø¥ó

½Ð°Ý¦p¦ó­pºâ¥ÍªG¥X²{¦¸¼Æ,  ¦ý±ø¥ó¬O¤é´Áµ¥©ó8¤ë1¤é, ¤Îª÷ÃB¤j©ó0

¤é´Á        ¥ÍªG        ª÷ÃB        ­pºâµ²ªG
7¤ë1¤é        ¾í        $10.00        
7¤ë1¤é        Ä«ªG        $0.00        
7¤ë1¤é        ­»¿¼        $20.00        
7¤ë1¤é        ¾í        $0.00        
7¤ë1¤é        Ä«ªG        $5.00        
8¤ë1¤é        ­»¿¼        $0.00        
8¤ë1¤é        ¾í        $5.00         ¾í1
8¤ë1¤é        Ä«ªG        $8.00         Ä«ªG1
8¤ë1¤é        ­»¿¼        $0.00        
8¤ë1¤é        ¾í        $35.00         ¾í2
8¤ë1¤é        Ä«ªG        $0.00        
8¤ë1¤é        ­»¿¼        $45.00         ­»¿¼1
8¤ë1¤é        ¾í        $0.00        
8¤ë1¤é        Ä«ªG        $8.00         Ä«ªG2
8¤ë1¤é        ­»¿¼        $1.00         ­»¿¼2
8¤ë1¤é        ¾í        $8.00         ¾í3
8¤ë1¤é        Ä«ªG        $0.00        
8¤ë1¤é        ­»¿¼        $15.00         ­»¿¼3

Book2.zip (4.47 KB)

§A¦n¡G
½Ð¸Õ¸Õ¬O§_¦X¾A
Sub aa()   
    Dim mSht As Worksheet
    Dim mRng As Range, E As Range
    Dim mDic As Object
    Dim mDic1 As Object
    Dim mKey1
    Dim m%
    Dim mDate As Date
    Dim mStr$
   
    Set mDic = CreateObject("Scripting.Dictionary")
    Set mDic1 = CreateObject("Scripting.Dictionary")
    Set mSht = Worksheets(1)
    With mSht
        Set mRng = .Range("b2:b19")
            For Each E In mRng
                mStr = E.Value & "," & E.Offset(, -1).Value
                    
                If E.Offset(, 1).Value > 0 Then
                    mDic(mStr) = mDic(mStr) + 1
                    mDic1(E.Value) = mDic1(E.Value)
                End If
               
            Next
            
            mDate = "2011/8/1"
            mKey1 = mDic1.Keys
           
            For Each E In mRng
               
                If mDic.Exists(E.Value & "," & E.Offset(, -1).Value) Then
                    
                    If E.Offset(, -1).Value = mDate And E.Offset(, 1).Value > 0 Then
                        E.Offset(, 2).Value = E.Value
                    End If
                End If
            
            Next
            m = 1
            For s = 0 To mDic1.Count - 1
                For Each E In mRng
                    If E.Offset(, 2) <> "" And E.Offset(, 2).Value = mKey1(s) Then
                    
                        E.Offset(, 2).Value = E.Offset(, 2).Value & m
                        m = m + 1
                    End If
                Next
                    m = 1
            Next
    End With
   
    Set mDic = Nothing
    Set mDic1 = Nothing
    Set mSht = Nothing
   
End Sub

TOP

¦^´_ 1# enoch
  1. Sub nn()
  2. Dim d As Object, A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. For Each A In [B2:B19]
  5. If A.Offset(, -1) = DateSerial(2011, 8, 1) And A.Offset(, 1) <> 0 Then d(A.Value) = d(A.Value) + 1: A.Offset(, 2) = A & d(A.Value)
  6. Next
  7. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 3# Hsieh


    ½Ð°Ý~¦pªG½d³ò¬°¾ã­Ó¤ë¥÷¡A¨Ò¦p:8¤ë¥÷(8¤ë1¤é~8¤ë31¤é)¡A­n¦p¦ó­×§ï¦¹¥¨¶°??

TOP

¦^´_ 4# ´Ñ»y³¾»ï
  1. Sub nn()
  2. Dim d As Object, A As Range
  3. Set d = CreateObject("Scripting.Dictionary")
  4. For Each A In [B2:B19]
  5. If format(A.Offset(, -1),"yyyy/mm") ="2011/08" And A.Offset(, 1) <> 0 Then d(A.Value) = d(A.Value) + 1: A.Offset(, 2) = A & d(A.Value)
  6. Next
  7. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¦³¦h¤Ö¤O¶q´N°µ¦h¤Ö¨Æ¡A¤£­n¤ß¦sµ¥«Ý¡Aµ¥«Ý¤~·|¸¨ªÅ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD