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

´Æ¤âªºexcel¹Bºâ°ÝÃD¡A¦p¦ó§ïµ½??

SUMIFS , ºâ¨Ó´NºC, ¦óªp¥þÄæ¤Þ¥Î¡I¡I¡I

¥[¨â­Ó»²§UÄ椽¦¡¡G
¢Õ¢±¡G=IF($D2=S$1,$E2,"-")¡@¥k©Ô¢Ö¢±¡A¤U©Ô¨ì©³
¢á¢²¡G=SUMIF($B:$B,$R2,G:G)¡@¥k©Ô¢â¢²¡A¤U©Ô¨ì©³¡AÀx¦s®æ®æ¦¡¦Û­q¬°¡G#¡@¡]¢¯­È¤£Åã¥Ü¡^

¥t¥~¡A®É¶¡¤½¦¡§ï¦p¤U¡G
¢Ò¢±¡G=--TEXT(A2,"hhmm")
¢á¢°¡G=--TEXT(S2,"hhmm")
¢â¢°¡G=--TEXT(T2,"hhmm")

TOP

¦^´_ 6# ÂŤÑÄR¦À


8:45-13:45 = ¢²¢¯¢¯¤ÀÄÁ¡@
R¦C¥u»Ý­n§ì³Ì°ª¨ì³Ì§C°Ï¶¡200­Ó¥ª¥k
¡@

300*200 ­ÓSUMIFS¡A¶]±o°Ê¶Ü¡H¡H¡H

TOP

°µ­Ó°Æµ{¦¡¡A©T©w®É¶¡¥h CALL §Y¥i¡A
Äæ¦ì¤£°÷¡A¥u°µ¨ì 08:45 ~ 12:00 ¦@ 196 Äæ¡A¦Û¦æ¥h½Õ¾ã¡G
¡@
Sub ²Î­p()
Dim R&, C&, Arr, Brr(1 To 200, 1 To 196), uMax, i&
R = Cells(Rows.Count, 1).End(xlUp).Row
If R < 2 Then Exit Sub
Arr = Range("A2:E" & R).Value
uMax = [R3] '³Ì¤j¦¨¥æ¼Æ
For i = 1 To UBound(Arr)
¡@¡@R = uMax - Arr(i, 2) + 1  '³Ì¤j¦¨¥æ¼Æ - ¢ÐÄ榨¥æ¼Æ + 1 = ¦C¦ì
¡@¡@If R < 1 Or R > 200 Then GoTo 101
    ¡@
¡@¡@C = Int(Arr(i, 1) * 1440) - 524 '¢ÏÄæ®É¶¡¤ÀÄÁ¼Æ - 8:44¤ÀÄÁ¼Æ = Äæ¦ì
¡@¡@If C < 1 Or C > 196 Then GoTo 101
    ¡@
¡@¡@Brr(R, C) = Brr(R, C) + Arr(i, 5)
101: Next
[S3].Resize(200, 196) = Brr
Beep
End Sub

°Ñ¦ÒÀÉ¡G
Xl0000328.rar (82.19 KB)
¡@

TOP

¤j·§°µ­Ó¨C¤ÀÄÁ¡e¦Û°Ê²Î­p¡f¡A¤£¨¬¤§³B¦Û¦æ½Õ¾ã¡A
­Y»P¦Û°Ê°O¿ý¢Ò¢Ò¢Ó¦³½Ä¬ð®É¡A¤]½Ð¦Û¦æ¥h±Æ°£¡I¡I
¡@
Xl0000328_v1.rar (82.17 KB)

TOP

¦^´_ 28# ÂŤÑÄR¦À


Private Sub Workbook_Open()
Call ²Î­p_±Ò°Ê
Application.RTD.ThrottleInterval = 0
Application.Calculation = xlCalculationManual   '¶}±ÒÀÉ®×´N±N¡e¦Û°Ê­«ºâ¡fÃö³¬¡A«ç¥i¯àIJ°Ê¡eCalculate¡f¡@
End Sub

TOP

        ÀR«ä¦Û¦b : ¦³´¼¼z¤~¯à¤À¿ëµ½´c¨¸¥¿¡F¦³Á¾µê¤~¯à«Ø¥ß¬üº¡¤H¥Í¡C
ªð¦^¦Cªí ¤W¤@¥DÃD