| 
    
     |  | ▼kaoru さん: >▼ハチ さん:
 >>丸めの基準を明確したほうが良いのでは?
 >>9:10ならどっちですか?
 >7:00以下なら7:00です
 >7:00以上8:30以下なら8:30です
 >8:30以上9:00以下なら9:00です
 >9:00以上10:30以下なら10:30です。
 >よろしくお願いいたします。
 >関数で表現すると(:はエラーになりますが・・)
 >=if(H14<7:00,7:00,if(and(H14<8:30,H14>7:00),8:30,(if(and(H14<9:00,H14>8:30),9:00,(if(and(H14<10:30,H14>9:00),10:30,h14))))
 > です。
 
 10:30以降は・・
 なんでしょう?
 
 Option Explicit
 
 Sub Time_test()
 
 'C列を作業列に使う。困る場合はOffsetの値を変更
 With ActiveSheet
 With .Range("B1", .Range("B65536").End(xlUp))
 .Offset(, 1).Formula = "=Time_Round(B1)"
 .Value = .Offset(, 1).Value
 .Offset(, 1).Clear
 End With
 End With
 
 End Sub
 
 Function Time_Round(OrgT As Date) As Date
 
 Select Case OrgT
 Case Is <= CDate("7:00")
 Time_Round = CDate("7:00")
 Case Is <= CDate("8:30")
 Time_Round = CDate("8:30")
 Case Is <= CDate("9:00")
 Time_Round = CDate("9:00")
 Case Is <= CDate("10:30")
 Time_Round = CDate("10:30")
 Case Else
 'それ以降は・・適当に12:00
 Time_Round = CDate("12:00")
 End Select
 
 End Function
 
 |  |