King lưu ý rằng nếu một ô được định dạng là hh: mm hoặc [h]: mm và bạn vô tình nhập 3: 555 vào ô, bạn nhận được 12:15 thay vì 3:55.

Excel đang hiểu 555 là 555 phút, không phải 55 và 1/2 phút. Anh ta tự hỏi liệu có cách nào để bảo vệ chống lại những lỗi nhập dữ liệu như vậy không, vì anh ta không thể xác thực dữ liệu để xử lý nó.

King đúng; xác thực dữ liệu sẽ không xử lý loại lỗi này. Nếu bạn đặt xác thực dữ liệu để cho phép Mục nhập thời gian vào một ô và sau đó đặt giới hạn là 12:00:00 sáng đến 11:59:59 tối (sao cho bất kỳ lúc nào được phép), nó sẽ vẫn chấp nhận 3: 555 và hiểu sai nó là 3 giờ 555 phút, hoặc 12:15. Vì 12:15 nằm trong khoảng thời gian cho phép, việc xác thực dữ liệu không có vấn đề gì.

Tuy nhiên, xác thực dữ liệu vẫn có thể được sử dụng nếu bạn chia đầu vào thời gian của mình thành hai ô. Cho phép người dùng nhập giờ vào một ô và phút vào ô khác, đồng thời sử dụng xác thực dữ liệu để thực thi các thông số đầu vào được chấp nhận cho mỗi ô. Điều này sẽ ngăn 555 không được chấp nhận là số phút hợp lệ. Sau đó, bạn có thể chuyển đổi hai ô thành thời gian hợp lệ theo cách này:

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

Một số người đăng ký đã đề xuất sử dụng macro để kiểm tra nội dung của ô và dừng nhập lỗi chính tả. Mỗi đề xuất dựa trên trình xử lý sự kiện Worksheet_Change, có vẻ rất hứa hẹn. Tuy nhiên, không có giải pháp nào được cung cấp sẽ khiến mục nhập 3: 555 là không chính xác. Lý do là vào thời điểm Excel chuyển giao quyền kiểm soát cho sự kiện Worksheet_Change, các quy trình nội bộ của nó đã phân tích cú pháp mục nhập và thay đổi nó thành 12:15. Mặc dù 3: 555 có thể được gắn cờ và điều chỉnh theo chương trình, nhưng 12:15 được phân tích cú pháp thì không thể — nó vẫn được coi là thời gian hợp lệ, vì vậy, nó chạy ngay qua bất kỳ macro nào trong số các macro Worksheet_Change.

Sau đó, giải pháp dựa trên macro duy nhất sẽ là giải pháp sử dụng hộp nhập liệu để người dùng nhập thời gian có thể được xác minh trước khi macro chèn nó vào trang tính. Tuy nhiên, cách tiếp cận này có vẻ khó khăn hơn nhiều đối với việc người dùng nhập liệu dễ dàng hơn là sử dụng các ô phút và giây riêng biệt và áp dụng xác thực dữ liệu cho các ô đó.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (13248) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.