King은 셀의 형식이 hh : mm 또는 [h] : mm이고 실수로 셀에 3 : 555를 입력하면 3:55 대신 12:15가 표시됩니다.

Excel은 555를 55 분과 1/2 분이 아닌 555 분으로 해석합니다. 그는 데이터 입력 오류를 처리 할 수있는 데이터 유효성 검사를받을 수 없기 때문에 이러한 데이터 입력 오류를 방지 할 수있는 방법이 있는지 궁금합니다.

왕이 맞습니다. 데이터 유효성 검사는 이러한 유형의 오류를 처리하지 않습니다. 셀에 시간 입력을 허용하도록 데이터 유효성 검사를 설정 한 다음 경계를 오전 12:00:00 ~ 오후 11:59:59로 설정하면 (언제든지 허용됨) 3 : 555를 허용하고 잘못 해석합니다. 3 시간 555 분 또는 12:15입니다. 12:15는 허용 된 시간 범위 내에 있으므로 데이터 유효성 검사에는 문제가 없습니다.

그러나 시간 입력을 두 개의 셀로 분할하면 데이터 유효성 검사를 계속 사용할 수 있습니다. 사용자가 한 셀에 시간을 입력하고 다른 셀에 분을 입력하도록 허용하고 데이터 유효성 검사를 사용하여 각 셀에 대해 허용 가능한 입력 매개 변수를 적용합니다. 이렇게하면 555가 유효한 시간 (분)으로 허용되지 않습니다. 그런 다음 다음과 같은 방식으로 두 셀을 유효한 시간으로 변환 할 수 있습니다.

=A1/24+B1/(24*60)

몇몇 가입자는 매크로를 사용하여 셀의 내용을 확인하고 오타 입력을 중지 할 것을 제안했습니다. 각 제안은 매우 유망 해 보였던 Worksheet_Change 이벤트 핸들러에 의존했습니다. 그러나 제공된 솔루션 중 어떤 것도 3 : 555의 항목을 잘못된 것으로 포착하지 못했습니다. 그 이유는 Excel이 Worksheet_Change 이벤트에 제어권을 넘겨 줄 때 내부 루틴이 이미 항목을 구문 분석하여 12:15로 변경했기 때문입니다. 3 : 555는 프로그래밍 방식으로 플래그가 지정되고 조정될 수 있지만 파싱 된 12:15는 불가능합니다. 여전히 유효한 시간으로 간주되므로 Worksheet_Change 매크로를 통해 바로 항해했습니다.

따라서 유일한 매크로 기반 솔루션은 사용자가 입력 상자를 사용하여 매크로가 워크 시트에 시간을 삽입하기 전에 확인할 수있는 시간을 입력하는 것입니다. 그러나이 접근 방식은 별도의 분 및 초 셀을 사용하고 해당 셀에 데이터 유효성 검사를 적용하는 것보다 쉬운 사용자 입력에 훨씬 더 방해가됩니다.

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

이 팁 (13248)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.