사용자가 시간 데이터를 입력할 때 특정 형식을 사용하도록 하려면 어떻게 해야 합니까?

사용자가 시간 데이터를 입력할 때 특정 형식을 사용하도록 하려면 어떻게 해야 합니까?

특정 스프레드시트 사용자가 군용 시간의 시간 데이터를 입력하는지 확인해야 합니다. 일부 사람들이 콜론을 생략하여 문제를 일으키는 것으로 나타났습니다. 셀 범위에 특정 서식을 적용하는 방법이 있나요?

답변1

Excel 2010을 사용하고 있으므로 Excel 2003에서 동등한 옵션이 어디에 있는지 잘 모르겠습니다.

  1. 제한하려는 셀을 선택합니다.
  2. 적절한 숫자 형식 "hh:mm"으로 셀 서식을 지정합니다.
  3. "데이터" 리본(메뉴, 어쩌면?)에서 "데이터 유효성 검사"를 선택합니다.
  4. "설정", "유효성 검사 기준"에서 다음을 설정합니다.
    허용 = 시간
    무시 공백 = 예
    데이터 =
    시작 시간 = 0:00
    종료 시간 = 23:59:59
    (멍청한 것은 "24:00 미만"을 허용하지 않습니다. )
  5. 사용자 "오류 경고", 설정:
    스타일 = 중지
    제목 = 시간 항목
    오류 메시지 = 콜론을 사용하여 hh:mm 형식으로 시간을 입력하십시오.
  6. "확인"을 누르세요.

답변2

이전 게시물이지만 Google 검색에 도움이 될 수 있습니다(저는 Excel 전문가가 아닙니다).

  1. 사용자 정의 형식을 사용하여 셀을 텍스트로 형식화하면 00\:00
    사용자가 ":" 없이 셀에 군대 시간을 입력할 수 있습니다.

  2. 다음 수식을 사용하여 셀(EG E16)의 데이터 유효성 검사 옵션을 사용자 정의로 설정합니다.

    =AND(ISNUMBER(E16),(VALUE(LEFT(TEXT(E16,"00\:00"),2))>=0),(VALUE(LEFT(TEXT(E16,"00\:00"),2))<=23),(VALUE(RIGHT(TEXT(E16,"00\:00"),2))>=0),(VALUE(RIGHT(TEXT(E16,"00\:00"),2))<=59))
    

유효성 검사에서는 숫자인지 확인한 다음 시간 값의 HH 쪽이 0에서 23 사이인지, MM이 0에서 59 사이인지 확인합니다.

답변3

나는 동일한 방법을 사용하여 군사 시간으로 제한하지만 데이터 유효성 검사에서는 굵은 전체(콜론 다음 세 자리)를 허용한 다음잘못된시간. 예를 들어 입력하고 싶은 경우13:44당신의 시간을 위해 실수로 넣어13:444, 그것은 걸릴 뿐만 아니라 시간을 표시합니다20:24

저것20:24시간은 내가 입력한 시간(13)에 444분을 시간:분(7:24)으로 변환한 값이므로 원하는 값 대신13:44그것은 준다13:00+7:24또는20:24.

이제 저는 수학을 이해하고 Excel이 444분을 7:24로 변환하지만 데이터 유효성 검사 항목에서는 발생해서는 안 되는 이유를 이해합니다. 이는 데이터 유효성 검사이므로 444를 44로 자르거나 오류 메시지를 표시해야 합니다.

답변4

VBA(매크로)가 지정된 열 또는 범위의 시간 입력을 처리하도록 제안하고 싶습니다.이 매크로는 4자리 값을 적절한 시간 형식으로 변환합니다.

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Dim xHour As String
Dim xMinute As String
Dim xWord As String

Application.EnableEvents = False
xWord = Format(Target.Value, "0000")
xHour = Left(xWord, 2)
xMinute = Right(xWord, 2)

On Error Resume Next
Target.Value = TimeValue(xHour & ":" & xMinute)

On Error Resume Next
Application.EnableEvents = True

End Sub

주의

  • 1725Macro를 입력하면 05:25:00 PM.
  • Range ("A:A")편집 가능해야 Range("A1:A10")합니다 Range("B10:C10").

관련 정보