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

«ü©w¤é´Á¤ÀÃþ¸ê®Æ

«ü©w¤é´Á¤ÀÃþ¸ê®Æ

½Ð°Ý¦U¦ì¥ý¶i¡A¤p§Ì¦³¤@ªí®æ¡A¥ªÃä¸ê®Æ·|¦³104¦~¤Î105¦~¸ê®Æ¡A¥kÃ䪺ªí®æ­n¿z¿ï¦C¥X105¦~ªº¸ê®Æ¡A¨Ã¥B«ö¶µ¥Ø¤ÀÃþ¨ì¥kÃ䤣¦Pªº¤lªí¤º¡A¤½¦¡³]©w¬J­n«ü©w¦~¥÷¤é´Á¤S­n«ö¶µ¥Ø¤ÀÃþ¡A¹ê¦³Ãø«×¡A½Ð¦U¦ì«ü¾É¤p§Ì¡AÁÂÁ¡I «ü©w¤é´Á¤ÀÃþ¿z¿ï¸ê®Æ.rar (8.4 KB)

¦^´_ 1# shan0948

§¹¦¨¦pªþ¥ó~Àx¦s®æ"O1"À³§ï¬°"ªo"
«ü©w¤é´Á¤ÀÃþ¿z¿ï¸ê®Æ.rar (11.31 KB)

TOP

G3=IFERROR(INDEX($A:$A,SMALL(IF((YEAR($A$2:$A$12)=2016)*($B$2:$B$12=OFFSET($G$1,,MAX(INT(COLUMN(A1)/4)*4))),ROW(A$2:A$12)),ROW(A1))),"")
H3=IFERROR(INDEX($C:$C,SMALL(IF((YEAR($A$2:$A$12)=2016)*($B$2:$B$12=OFFSET($G$1,,MAX(INT(COLUMN(B1)/4)*4))),ROW(B$2:B$12)),ROW(B1))),"")
I3=IFERROR(INDEX($E:$E,SMALL(IF((YEAR($A$2:$A$12)=2016)*($B$2:$B$12=OFFSET($G$1,,MAX(INT(COLUMN(C1)/4)*4))),ROW(C$2:C$12)),ROW(C1))),"")
®t§O$A:$A§ï$B:$B»P$C:$C ,«á°é¿ïG3:I3½Æ»s¨ì ,K3 .O3 .S3....¦A¤À§O¤U©Ô

TOP

¦^´_ 3# hcm19522


    h¤j¦n¡A·P®¦¦^À³«ü¾É¡A©Ò¦C¤½¦¡¸g´ú¸Õ«á¡A¦]©Ò­nªº¸ê®Æ¬O105¦~ªº¡A¦ý G3¡AH3¡AI3 ©Ò¦C¥Xªº¬O104¦~ªº¸ê®Æ¡A¥B¤U©Ô«áÀx¦s®æ³£¬OªÅ¥Õ¡A§¡µL¸ê®ÆÅã¥Ü¡A½Ð°Ý¬O¨º¥X°ÝÃD¤F¡AÁÂÁ¡I

TOP

¦^´_ 2# tku0216


    t ¤j¦n¡A·PÁ¦^À³«ü¾É¡A©Ò¦C¤½¦¡¸g´ú¸Õ«á²Å¦X±ø¥ó¡A¸Ñ¨M¤F¤p§Ìªº°ÝÃD¡AÁÂÁ·P®¦¡I

TOP

shift+ctrl+enter¤TÁä¤@°_«ö

TOP

¦^´_ 6# hcm19522


    h ¤j¦n¡A¦]­ì¦C¤½¦¡¥¼¦³´£¥Ü¬O°}¦C¤½¦¡¡A¤p§Ì·|¦A´ú¸Õ¡A·P®¦ÁÂÁ¡I

TOP

¦^´_ 6# hcm19522


    h ¤j¦n¡A¸g¥H°}¦C¤½¦¡´ú¸Õ«á§¹¥þ¥¿½T¡AÁÂÁ·P®¦¡I

TOP

ÁÂÁ½׾Â,ÁÂÁ¦U¦ì«e½ú
«á¾ÇÂǦ¹©«½m²ß°}¦C»P¦r¨å,¾Ç²ß¤è®×¦p¤U,½Ð¦U¦ì«e½ú«ü±Ð
°õ¦æ«e:


¿é¤J¦~¤À:


°õ¦æµ²ªG:


Option Explicit
Sub TEST()
Application.ScreenUpdating = False
Dim Brr, Crr(1 To 1000, 1 To 3), Z, A, i&, R&, j%, N%, Y$, T$, xR As Range
ActiveSheet.UsedRange.Offset(, 6).EntireColumn.Delete
Y = InputBox("½Ð½T»{¬O§_¥¿½T!", "½Ð¿é¤J·J¾ã¦~¤À", Format(CDate(Format(Date, "YYYY/MM/") & 1) - 1, "YYYY"))
If StrPtr(Y) = 0 Then Exit Sub
If Not Y Like "####" Then MsgBox "½Ð¿é¤J¥¿½T®æ¦¡¦~¥÷": Exit Sub
Set Z = CreateObject("Scripting.Dictionary"): Set xR = [G1]
Brr = [A1].CurrentRegion
For i = 2 To UBound(Brr)
   If Not IsDate(Brr(i, 1)) Then GoTo i01
   If Format(Brr(i, 1), "YYYY") <> Y Then GoTo i01 Else T = Brr(i, 2)
   A = Z(T): R = Z(T & "/r")
   If Not IsArray(A) Then A = Crr: N = N + 1
   R = R + 1: A(R, 1) = Brr(i, 1): A(R, 2) = Brr(i, 3): A(R, 3) = Brr(i, 5)
   Z(T) = A: Z(T & "/r") = R
i01: Next
If N = 0 Then Exit Sub
For i = 0 To Z.Count - 1
   T = Z.KEYS()(i): If Not IsArray(Z(T)) Then GoTo i02
   With xR.Resize(2, 3)
      .Borders.LineStyle = xlContinuous
      .Cells(1) = T: .Cells(2) = "¤ä¥X©ú²Óªí": .Cells(4) = "¤é´Á": .Cells(5) = "ºK­n": .Cells(6) = "¤ä¥X"
      For j = 7 To 10: .Borders(j).Weight = 4: Next
   End With
   xR.Interior.ColorIndex = 33: xR(2).Resize(, 3).Interior.ColorIndex = 1: xR(2).Resize(, 3).Font.ColorIndex = 2
   With xR(3).Resize(Z(T & "/r"), 3)
      .Value = Z(T)
      .Item(.Count + 2) = "¦X­p"
      .Item(.Count + 3) = "=SUM(" & .Columns(3).Address & ")"
      .Borders.LineStyle = xlContinuous
      .ShrinkToFit = True
      For j = 7 To 10: .Borders(j).Weight = 4: Next
   End With
   Set xR = xR(, 5)
i02: Next
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_ 9# Andy2483


    ·PÁÂA¤jªº«ü¾É¡A¨Ï¥Î«á¦³°ÝÃD¦A¦VA¤j½Ð±Ð¡A·P®¦¡I

TOP

        ÀR«ä¦Û¦b : °ß¨ä´L­«¦Û¤vªº¤H¡A¤~§ó«i©óÁY¤p¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD