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

[µo°Ý] ¨Ì¦U³¡ªù¥[Á`«áÅã¥Ü¦©°£´î¤Ö«á¤§¼Æ¾Ú...

[µo°Ý] ¨Ì¦U³¡ªù¥[Á`«áÅã¥Ü¦©°£´î¤Ö«á¤§¼Æ¾Ú...

»¡©ú:1.§Æ±æµ²ªG¬° H¡BI¡BJ¡BK ¦UÄ椧¥[Á`(¦X­p)¡K±ø¥ó·Ç«h»Ý¨Ì·Ó¨C¤ë±ø¥ó¦³µL¼W¥[/´î¤Ö¸Õºâ¥[Á`¡C               
        2.¦X­p³¡¤À»Ý¦©°£¦U³¡ªù©Ò¦C±ø¥ó´î¤Ö¤§¼Æ¾Ú...H2¡BI2¡BJ2¡BK2 ¦UÄ椧¥[Á`(¦X­p)»Ý¦©°£¦U³¡ªù©Ò¦C±ø¥ó´î¤Ö¤§¼Æ¾Ú¡C               
        3.UÄæ­ì»ù¨Ì¦U³¡ªù¥[Á`«áÅã¥Ü¦©°£´î¤Ö«á¤§¼Æ¾Ú¡C               
        4.V¡BWÄæ¨Ì¦U³¡ªù¥[Á`«áÅã¥Ü¦©°£´î¤Ö«á¤§¼Æ¾Ú¡C               
        5.XÄæª÷ÃB¨Ì¦U³¡ªù¥[Á`«áÅã¥Ü¦©°£´î¤Ö«á¤§¼Æ¾Ú¡C

§Æ±æµ²ªG  H2¡BI2¡BJ2¡BK2¡BU5~U8¡BV5~V8¡BW5~W8¡BX5~X8        ¤§¥[Á`(¦X­p)»Ý¦©°£¦U³¡ªù©Ò¦C±ø¥ó´î¤Ö¤§¼Æ¾Ú§t¦³¤½¦¡¡C
       
  

1120.rar (18.11 KB)

¬Ý¤£À´//¥ý°µ­Ó
Xl0000208.rar (10.26 KB)

¤]¥i¥Îsumifs

TOP

¦^´_ 2# ­ã´£³¡ªL

·PÁ ­ã´£³¡ªL  ¤§«ü¾É
¥tªþ¤W»¡©ú


T21°]°È³¡¬°¨Ò
1.­ì»ù­pºâ=470000+266000+1355000+·s¼W1390000=3481000
2.¥»¦~=40192+175840+46334=262366
3.²Ö­p=240500+266000+404432+46334=957266
4.ª÷ÃB=229500+950568+1343666=2523734
5.­ì»ù¼W¥[=1390000
6.­ì»ù´î¤Ö=776922+461000=1237922(2µ§­ì»ù´î¤Ö¡KHÄæ)
7.

Xl0000208+.rar (10.98 KB)

TOP

¦^´_ 3# cypd

·PÁ ­ã´£³¡ªL  ¤§«ü¾É
¬Ý¤£À´//
(Xl0000208.rar...°w¹ï¤½¦¡¤º­Y¬O¦U³¡ªù¦³¼W¥[®É¥[Á`¸ÕºâµLªk²£¥Í©Ò»Ýµ²ªG)
¥t¸Éªþ¤W»¡©ú°Ñ¦Ò...¯à­×¥¿©Ò»Ý¤½¦¡

TOP

¦^´_ 3# cypd


    ÁÂÁ«e½úµoªí¦¹¥DÃD»P½d¨Ò
«á¾ÇÂǦ¹©«½m²ß¦r¨å¤¤¦r¨å,½Ð«e½ú¸Õ¸Õ¬Ý!
½Ð«e½ú­Ì«ü¥¿¨Ã«ü¾É!ÁÂÁÂ
°õ¦æ«e:


°õ¦æµ²ªG:


Option Explicit
Sub test()
Dim Brr, Crr, i&, x, Y, K&
Dim ³¡ªù$, ­ì»ù&, ¥»¦~&, ²Ö­p&, ª÷ÃB&, ¼W´î$
Set Y = CreateObject("Scripting.Dictionary")
Brr = Range([§t¤½¦¡!P1], [§t¤½¦¡!A65536].End(3))
For i = 5 To UBound(Brr)
   ³¡ªù = Brr(i, 1)
   ­ì»ù = Brr(i, 8)
   ¥»¦~ = Brr(i, 9)
   ²Ö­p = Brr(i, 10)
   ª÷ÃB = Brr(i, 11)
   ¼W´î = Brr(i, 16)
   If Y.Exists(³¡ªù) = False Then
      Set Y(³¡ªù) = CreateObject("Scripting.Dictionary")
   End If
   If ¼W´î = "" Or ¼W´î = "¼W¥[" Then
      Y(³¡ªù)(1) = Y(³¡ªù)(1) + ­ì»ù
      Y(³¡ªù)(2) = Y(³¡ªù)(2) + ¥»¦~
      Y(³¡ªù)(3) = Y(³¡ªù)(3) + ²Ö­p
      Y(³¡ªù)(4) = Y(³¡ªù)(4) + ª÷ÃB
      If ¼W´î = "¼W¥[" Then
         Y(³¡ªù)(5) = Y(³¡ªù)(5) + ­ì»ù
      End If
      ElseIf ¼W´î = "´î¤Ö" Then
         Y(³¡ªù)(6) = Y(³¡ªù)(6) + ­ì»ù
         Y(³¡ªù)(7) = Y(³¡ªù)(7) + ²Ö­p
         Y(³¡ªù)(9) = Y(³¡ªù)(7)
         Y(³¡ªù)(10) = Y(³¡ªù)(10) + ª÷ÃB
   End If
Next
ReDim Crr(1 To Y.Count + 1, 1 To 11)
For Each x In Y.KEYS
   K = K + 1
   Crr(K, 1) = x
   For i = 2 To 11
      Crr(K, i) = Y(x)(i - 1)
      Crr(UBound(Crr), i) = Crr(UBound(Crr), i) + Y(x)(i - 1)
   Next
Next
Crr(UBound(Crr), 1) = "¦X­p"
[T5].Resize(UBound(Crr), 11) = Crr
Set Y = Nothing
Set Brr = Nothing
Set Crr = Nothing
End Sub

TOP

¦^´_ 5# Andy2483

¤Ó·PÁ±z Andy2483 ¼ö¤ßªº¦^ÂСG
¸g¹ê´ú¥i²Å¦X©Ò»Ýµ²ªG³á   ^^

»Ý¨D1¡G¦bµo°ÝÃD¥Ü¤¤¬O§_¯à¦A±N¸Óµ{¦¡½X§t H2¡BI2¡BJ2¡BK2 ¦UÄ椧¦X­p§t¦³U9¡BV9¡BW9¡BX9¦X­p¼Æ¾Ú¡C

»Ý¨D2¡G¸ÓÀÉ®×(§t¤½¦¡1¡B§t¤½¦¡2¡B§t¤½¦¡3¡K)­p¦³12­Ó¤ë¥÷ªº¤u§@ªí
½Ð°Ý¸Óµ{¦¡½X¸Ó¦p¦ó¹B¥Î¦b³o  12 ­Ó¤u§@ªí¤£·|¤¬¬Û¤zÂZ°õ¦æ¹Bºâ??

TOP

¦^´_ 4# cypd

Xl0000208+.rar (10.97 KB)

TOP

¥»©«³Ì«á¥Ñ Andy2483 ©ó 2022-11-25 10:36 ½s¿è

¦^´_ 6# cypd


    ÁÂÁ«e½ú¦^´_
½Ð¨Ï¥Î ­ã´£³¡ªL«e½úªº¤è®×!«á¾Çªº½m²ß·í°Ñ¦Ò´N¦n
¦]¬°VBA»P¤½¦¡²V¥Î»Ý­n½ÆÂøÂIªº·Qªk¤~¤ñ¸û¦w¥þ!
¤£µM·|¦³¥Î¿ù³øªíªºÅU¼{

½Ð«e½ú­Ì«ü¥¿¨Ã«ü¾É!ÁÂÁÂ
¥H¤U¬O«á¾Çªº¾Ç²ß¤ß±oµù¸Ñ:
Option Explicit
Dim WNa
'¡ô«Å§i¼Ò²ÕÅܼÆ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'¡ôÂùÀ»Ä²µo
With Target
'¡ô¥H¤UÃö©óIJµo
   If .Address = "$A$2" Then
   '¡ô¦pªGIJµoªºÀx¦s®æ¦ì§}¬O [A2]
      ActiveSheet.Copy
      '¡ô¾ã­Ó²{¥Î¤u§@ªí½Æ»s¨ì·sªº¬¡­¶Ã¯
      Set WNa = ActiveWorkbook.ActiveSheet
      '¡ô¥OWNa ¬O³o·s¬¡­¶Ã¯ªº²{¥Î¤u§@ªí(¥H¤UºÙ:·sªí)
      MsgBox "µ²ªG©ñ¦b·s¼W¬¡­¶Ã¯: " & ActiveWorkbook.Name
      '¡ô¸õ¥X´£¥Üµ¡: µ²ªG©ñ¦b·s¼W¬¡­¶Ã¯: ¬¡­¶Ã¯¦WºÙ
      Call test
      '¡ô°õ¦æ°Æµ{¦¡ test()
      
      Cancel = True
      '¡ô¨ú®ø ­ì¥»ÂùÀ»Àx¦s®æ¥i¦bÀx¦s®æ¤º½s¿è¤å¦r ªº¥\¯à°õ¦æ
   End If
End With
End Sub
Private Sub test()
Dim Brr, Crr, i&, x, Y, K&
Dim ³¡ªù$, ­ì»ù&, ¥»¦~&, ²Ö­p&, ª÷ÃB&, ¼W´î$
'¡ô«Å§iÅܼÆ
Set Y = CreateObject("Scripting.Dictionary")
'¡ô¥OY ¬O¦r¨å
Brr = WNa.Range(WNa.[P1], WNa.[A65536].End(3))
'¡ô¥OBrr¬O°}¦C! ­Ë¤J·sªíªº[P1]¨ì ·sªíAÄæ³Ì«á¤@­Ó¦³¤º®eªºÀx¦s®æ ¤§¶¡¤è¥¿°Ï°ìÀx¦s®æªº­È
For i = 5 To UBound(Brr)
'¡ô³]¶¶°j°é! ±q5 ¨ìBrr°}¦CÁa¦V³Ì«á¦C¸¹
   ³¡ªù = Brr(i, 1)
   '¡ô¥O³¡ªù$ ³oÅÜ¼Æ ¬OBrr°}¦Cªº²Ä¤@Äæ°j°é¦C¦ì¸m¦r¦ê
   ­ì»ù = Brr(i, 8)
   '¡ô¥O­ì»ù& ³oÅÜ¼Æ ¬OBrr°}¦Cªº²Ä¤KÄæ°j°é¦C¦ì¸m¼Æ¦r
   ¥»¦~ = Brr(i, 9)
   '¡ô¥O¥»¦~& ³oÅÜ¼Æ ¬OBrr°}¦Cªº²Ä¤EÄæ°j°é¦C¦ì¸m¼Æ¦r
   ²Ö­p = Brr(i, 10)
   '¡ô¥O²Ö­p& ³oÅÜ¼Æ ¬OBrr°}¦Cªº²Ä¤QÄæ°j°é¦C¦ì¸m¼Æ¦r
   ª÷ÃB = Brr(i, 11)
   '¡ô¥Oª÷ÃB& ³oÅÜ¼Æ ¬OBrr°}¦Cªº²Ä¤Q¤@Äæ°j°é¦C¦ì¸m¼Æ¦r
   ¼W´î = Brr(i, 16)
   '¡ô¥O¼W´î$ ³oÅÜ¼Æ ¬OBrr°}¦Cªº²Ä¤Q¤»Äæ°j°é¦C¦ì¸m¦r¦ê
   If Y.Exists(³¡ªù) = False Then
   '¡ô¦pªGY¦r¨å¸Ì¨S¦³ °j°éÅܼƳ¡ªùªºkey(Áä) ??
      Set Y(³¡ªù) = CreateObject("Scripting.Dictionary")
      '¡ô¥O °j°éÅܼƳ¡ªùªºkey ¬O¦r¨å!
      '¥Hi¬O5¬°¨Ò:³¡ªù¬OÀç·~³¡,"Àç·~³¡"¥O¥L¥Í¦¨¤@­Óª«¥ó¦r¨å:
      '¤]´N¬OY¦r¨å¤¤¦³¤@­Ó "Àç·~³¡"ªº key,
      '¦P®É¤S¦s¦bµÛ¤@³¡¦r¨å¦W¥s "Àç·~³¡"
      '©Ò¥H³o¦æµ{¦¡½X¦@°µ¤F¨â¥ó¨Æ

   End If
   If ¼W´î = "" Or ¼W´î = "¼W¥[" Then
  '¡ô¦pªG¼W´î$ ³o¦r¦êÅÜ¼Æ ¬OªÅ¥Õ ©Î ³o¦r¦êÅÜ¼Æ ¬O"¼W¥["¦r¦ê??
      Y(³¡ªù)(1) = Y(³¡ªù)(1) + ­ì»ù
      '¡ô·íi=5
      '¥OY¦r¨å¤¤key¬O Àç·~³¡ªº¦r¨å¸Ìªºkey¬O1ªºitem,²Ö¥[ ­ì»ù& ³oÅܼƪº¼Æ¦r
      '©Ò¥H³o¦æµ{¦¡½X¤]°µ¤F¨â¥ó¨Æ:
      '1.¦]¬°Y¦r¨å¤¤Àç·~³¡ªº¦r¨å¸Ì­ì¥»¨S¦³ 1ªºkey,
      '·í§Ú­Ì¥O Y(³¡ªù)(1) =    ³o°Ê§@´N¤w¸g¦Û°Ê¥Í¦¨ Y¦r¨å¤¤Àç·~³¡ªº¦r¨å¸Ì 1ªºkey
      '2.¦Ó = Y(³¡ªù)(1) + ­ì»ù& ´N¬O  Y¦r¨å¤¤Àç·~³¡ªº¦r¨å¸Ì key¬O1 ªºitem
      
      '¬°¤°»ò­n ¦bY¦r¨å¤¤Àç·~³¡ªº¦r¨å¸Ì³]¤@­Ókey¬O1,Item¬O­ì»ù&²Ö¥[­È??
      '¦]¬°key 1¬O­n«ü©w«á­±µ{§Ç­n©ñ¦bCrr°}¦Cªº¦ì¸m  ¦pµù¸Ñ¼Ð°O
@1
      
      Y(³¡ªù)(2) = Y(³¡ªù)(2) + ¥»¦~
      '¡ô³o¦æµ{¦¡½XÃþ±À
      
      Y(³¡ªù)(3) = Y(³¡ªù)(3) + ²Ö­p
      '¡ô³o¦æµ{¦¡½XÃþ±À
      
      Y(³¡ªù)(4) = Y(³¡ªù)(4) + ª÷ÃB
      '¡ô³o¦æµ{¦¡½XÃþ±À
      
      If ¼W´î = "¼W¥[" Then
         Y(³¡ªù)(5) = Y(³¡ªù)(5) + ­ì»ù
         '¡ô³o¦æµ{¦¡½XÃþ±À!¥u¬O¦h¥[¤F¤@­Ó§PÂ_:¦pªG ¼W´î$³o¦r¦êÅܼƬO "¼W¥["
      End If
      ElseIf ¼W´î = "´î¤Ö" Then
         Y(³¡ªù)(6) = Y(³¡ªù)(6) + ­ì»ù
         Y(³¡ªù)(7) = Y(³¡ªù)(7) + ²Ö­p
         Y(³¡ªù)(9) = Y(³¡ªù)(7)
         Y(³¡ªù)(10) = Y(³¡ªù)(10) + ª÷ÃB
         '¡ô³o¦æµ{¦¡½XÃþ±À!¥u¬O¦h¥[¤F¤@­Ó§PÂ_:§_«h¦pªG ¼W´î$³o¦r¦êÅܼƬO "´î¤Ö"
   End If
Next
ReDim Crr(1 To Y.Count + 1, 1 To 11)
'¡ô«Å§iCrr°}¦Cªº½d³ò:Áa¦V¬O±q1¨ìY¦r¨å¸Ì¦@¦³´X­Ó³¡ªùªºkeyªº¼Æ¶q¦C¦A¥[1,
'¦A¥[1 ¬O¬°¤F­n©ñÁ`¦X­p

'¾î¦V¬O±q1 ¨ì11 ,¦]¬°µ²ªG¦ì¸m¦³11Äæ T:AD
For Each x In Y.KEYS
'¡ô³]¥~¶¶°j°é!¥Ox ¬OY¦r¨å·í¤¤ªº¤@­Ókey!±q Àç·~³¡ ¨ì ¬ãµo³¡
   K = K + 1
   '¡ô¥OK ²Ö¥[1,«e­±¬O«Å§iK ¬Oªø¾ã¼Æ,©Ò¥H±q0¶}©l²Ö¥[1
   Crr(K, 1) = x
   '¡ô°j°é¤@¶}©l¥OCrr°}¦C²Ä¤@¦C²Ä¤@Äæ¦ì¸m¬O "Àç·~³¡" ¦r¦ê
   '«áÄò°j°é....
   For i = 2 To 11
   '¡ô³]¤º¶¶°j°é±q2 ¨ì11
      Crr(K, i) = Y(x)(i - 1)   '@1
      '¡ô¥OCrr°}¦C¬Û¹ïªº¦ì¸m¸Ë¤J ¬dY¦r¨å¤¤ªº¦r¨åªºitem
      Crr(UBound(Crr), i) = Crr(UBound(Crr), i) + Y(x)(i - 1)
      '¡ô¥OCrr°}¦Cªº³Ì«á¦C²Ö¥[¨C¤@¶µ ¬dY¦r¨å¤¤ªº¦r¨åªºitem
   Next
Next
Crr(UBound(Crr), 1) = "¦X­p"
'¡ô¥OCrr°}¦Cªº³Ì¥ª¤U¨¤¨º¦ì¸m¬O "¦X­p" ¦r¦ê
WNa.[T5].Resize(UBound(Crr), 11) = Crr
'¡ô±NCrr°}¦C­È­Ë¤J·sªí,±q·sªí[T5]¦V¤UÂX®i Crr°}¦CÁa¦V¦C¸¹¼Æ,¦V¥kÂX®i11Äæ,
'­Ë¤J³o½d³ò¸Ì

WNa.[H2] = Crr(UBound(Crr), 2)
'¡ô¥O·sªí[H2]­È¬O Crr°}¦C³Ì¤U­±¦C¦ì,¥k²Ä¤G­Ó¼Æ¦r
WNa.[I2] = Crr(UBound(Crr), 3)
'¡ô¥O·sªí[I2]­È¬O Crr°}¦C³Ì¤U­±¦C¦ì,¥k²Ä¤T­Ó¼Æ¦r
WNa.[J2] = Crr(UBound(Crr), 4)
'¡ô¥O·sªí[I2]­È¬O Crr°}¦C³Ì¤U­±¦C¦ì,¥k²Ä¥|­Ó¼Æ¦r
WNa.[K2] = Crr(UBound(Crr), 5)
'¡ô¥O·sªí[K2]­È¬O Crr°}¦C³Ì¤U­±¦C¦ì,¥k²Ä¤­­Ó¼Æ¦r
Set Y = Nothing
Set Brr = Nothing
Set Crr = Nothing
End Sub

³o¨Çµ{¦¡½X­n©ñ¦b¤u§@ªí¼Ò²Õ¸Ì¤~¯à¥Î

TOP

¦^´_ 7# ­ã´£³¡ªL

·PÁ ­ã´£³¡ªL  ¤§¦^ÂÐ
SUMPRODUCT(($A$5:$A$64=$T5)*($P$5:$P$64<>"´î¤Ö"),H$5:H$64)
­ì¨Ó®t²§¤§³B¦b©ó«ü©w  <>"´î¤Ö"
²{¤w¹F¦¨¦X­p¸Õºâ   ·P®¦  ^^

TOP

¦^´_ 8# Andy2483

·PÁ±z Andy2483 ¼ö¤ßªº¦^ÂСG
¬Ý¤F¤uµ{¯E¤jªºµ{¦¡½X¤Ó³Ò·Ð±z¤F!  ·P®¦  ^^
°õ¦æ¹Lµ{¤¤¥X²{¥H¤U°»¿ù



½Ð°Ý¸Ó¦p¦ó­×¥¿...

TOP

        ÀR«ä¦Û¦b : ¤f»¡¦n¸Ü¡B¤ß·Q¦n·N¡B¨­¦æ¦n¨Æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD