- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 7# lalalada
©JÀÉ ¦p¦³¸Ô²Ó»¡©ú ´N¤£·|Ãú¸Ì¬Ýªá¤F
ex. SSSL ¹q¸£ $100 50
SSSL $150 25
SSSL $50 100
¿é¥X¦¨
SSSL ¹q¸£ 175
³Ì«á¥Ø¼Ð¬O
SSSL ¹q¸£ $¥§¡»ù®æ 175
µ{¦¡½X¨ÌªþÀÉÄæ¦ì, ¤u§@ªí1 ªº¸ê®Æ¤w±Æ§Ç¹L ©w»s- Sub arrange_trial()
- Dim Ar(), Axy(), d As Object, dic As Object, xlword As String
- Set d = CreateObject("scripting.dictionary")
- Set dic = CreateObject("scripting.dictionary")
- Ar = Sheets("¤u§@ªí1").Range("A2:E" & Sheets("¤u§@ªí1").[E2].End(xlDown).Row).Value
- '*** ¤@¯ë¼Ò²Õ¤¤: ¨S«ü©w¤u§@ªíªº Range ¬O·|§@¥Î¤¤¤u§@ªíActiveSheetªºRange ****
- For i = 1 To UBound(Ar)
- If Len(Ar(i, 2)) > 4 Then xlword = Ar(i, 2)
- If Not d.Exists(xlword) Then
- d(xlword) = Array(Ar(i, 1), Ar(i, 2), , Ar(i, 4), Ar(i, 5))
- dic(xlword) = Array(Ar(i, 3)) 'p
- Else
- Axy = d(xlword) '¨ú±o ¦r¨åª«¥óªºitems
- d(xlword) = Array(Axy(0), Axy(1), , Axy(3) + Ar(i, 4), Axy(4) + Ar(i, 5))
-
- Axy = dic(xlword) '¨ú±o ¦r¨åª«¥óªºitems
- ReDim Preserve Axy(UBound(dic(xlword)) + 1) '«¸m Axy¤¸¯À+1(Preserve: û¤º®e¤£ÅÜ)
- Axy(UBound(Axy)) = Ar(i, 3) '¥[1 ªº¤¸¯À
- dic(xlword) = Axy '¸m¤J ¦r¨åª«¥óªºitems
- End If
- Next
- For Each k In d.keys
- Axy = d(k)
- Axy(2) = Application.Average(dic(k)) '¥§¡¼Æ
- Axy(2) = Application.Round(Axy(2), 2) '¥|±Ë¤¤J¨ì¤p¼ÆÂI²Ä2¦ì
- d(k) = Axy
- Next
- Sheets("Output").[a5].Resize(d.Count, UBound(Ar, 2)) = Application.Transpose(Application.Transpose(d.items))
- End Sub
½Æ»s¥N½X |
|