Excel은 셀의 내용에 따라 True 또는 False를 반환하는 여러 함수를 제공합니다. 예를 들어 ISBLANK는 셀이 비어 있으면 True를 반환하고, ISERR은 셀에 오류 값이 있으면 True를, 셀에 텍스트가 있으면 ISTEXT는 True를 반환합니다. 셀에 시간이 있는지 확인할 수 있는지 궁금 할 수 있습니다.

짧은 대답은 ‘아니오’입니다. 할 수 없습니다. Excel에는 셀에 시간이 포함되어 있는지 여부를 나타내는 함수가 없습니다. 이유는 매우 간단합니다. Excel의 시간과 날짜는 기술적으로 숫자에 불과합니다. 날짜는 1에서 2958465 사이의 숫자로 1900 년 1 월 1 일부터 9999 년 12 월 31 일까지의 날짜를 나타냅니다. 숫자에 소수 부분을 추가하면 시간을 나타냅니다 (0은 자정, 0.25는 오전 6시, 0.5는 정오 등).

날짜와 시간에 사용할 수있는 값의 범위와 시간을 포함하는 셀의 형식을 적절하게 지정하여 시간을 표시해야한다는 사실을 알고 있으면 셀에 시간이 포함되어 있는지를 나타내는 수식을 만들 수 있습니다.

=IF(AND(CELL("format",B2)>="D6",CELL("format",B2)<="D9"), "Time Format","Not Time Format")

이 수식은 B2 셀에 적용된 서식을 확인합니다. 형식이 시간에 일반적으로 사용되는 형식 중 하나 인 경우 “시간 형식”이라는 텍스트를 반환합니다. 다른 형식을 사용하는 경우 수식은 “Not Time Format”을 반환합니다.

다른 방법은 셀 B2의 값이 유효한 시간 값인지 확인하는 것입니다. 다음과 같은 공식을 사용하여이를 수행 할 수 있습니다.

=IF(TIMEVALUE(TEXT(B2,"hh:mm:ss"))=B2, "Time Entry", "Not a Time Entry")

이 함수는 셀 B2에 시간 만 포함되어있는 한 정상적으로 작동합니다. 셀에 날짜와 시간이 모두 포함 된 경우 함수는 항상 “시간 항목이 아님”을 반환합니다.

형식과 셀의 값을 확인하는 두 가지 장점을 모두 얻으려면 VBA에서 사용자 정의 함수를 만드는 것이 좋습니다. 그 이유는 간단합니다. VBA에는 숫자의 현재 범위를 확인할뿐만 아니라 셀이 날짜 형식으로 지정되었는지 확인하는 IsDate 함수가 포함되어 있습니다. 다음 매크로는 이러한 함수를 만드는 방법에 대한 예제를 제공합니다.

Function IsTime(rng As Range) As Boolean     Dim sValue As String     sValue = rng.Cells(1).Text     On Error Resume Next     IsTime = IsDate(TimeValue(sValue))

On Error GoTo 0 End Function

함수를 사용하려면 셀에서 다음 수식을 사용하십시오.

=IsTime(B2)

이 함수는 값이 표시되는 방식 (셀 개체의 텍스트 속성 사용)을 읽은 다음 TIMEVALUE 함수로 변환을 시도합니다. 날짜 (IsDate 함수에 의해 결정됨) 인 경우 디스플레이는 유효한 시간입니다. 날짜가 아닌 경우 VBA는 코드가 무시하도록 프로그래밍 된 오류를 생성합니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (9699)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Checking_for_Time_Input [시간 입력 확인 중].