DATEVALUE, TIMEVALUE: chuyển văn bản ngày giờ thành giá trị tính toán được
Chia sẻ
"Dữ liệu ngày tháng xuất từ hệ thống khác thường trông giống ngày nhưng thực chất là văn bản — không SUMIFS, không sắp xếp đúng được. DATEVALUE và TIMEVALUE chuyển chúng thành ngày giờ thật, nhưng phụ thuộc đúng định dạng vùng miền đang cấu hình."
Bài YEAR, MONTH, DAY có nhắc tới một lỗi: các hàm ngày tháng trả về #VALUE! khi ô trông giống ngày nhưng thực chất là văn bản. DATEVALUE và TIMEVALUE chính là hàm sửa đúng vấn đề đó — chuyển chuỗi văn bản thành giá trị ngày giờ thật mà Excel tính toán được.
Công thức trong bài dùng dấu phẩy (,); đổi sang dấu chấm phẩy (;) nếu Excel của bạn cấu hình theo vùng miền khác.
Cú pháp
=DATEVALUE(chuoi_ngay)
=TIMEVALUE(chuoi_gio)
DATEVALUE("15/03/2026") trả về số serial của ngày đó — hiển thị ra là một con số cho tới khi định dạng lại ô thành ngày tháng. TIMEVALUE("08:45:30") tương tự, trả về phần thập phân đại diện cho giờ đó trong một ngày.
Cách nhận biết một ô "trông giống ngày" nhưng là văn bản
Dữ liệu xuất từ phần mềm kế toán, hệ thống chấm công, hay file CSV thường mắc lỗi này: ô hiển thị 15/03/2026 giống hệt một ngày thật, nhưng căn lề lại nằm bên trái thay vì bên phải — dấu hiệu rõ nhất của một chuỗi văn bản, không phải số.

Với ô dạng này, mọi hàm ngày tháng (YEAR, MONTH, SUMIFS theo điều kiện ngày, sắp xếp theo thời gian...) đều thất bại hoặc cho kết quả sai, vì Excel không coi đó là một ngày.
Sửa bằng DATEVALUE
=DATEVALUE(A2)
Kết quả trả về là một số serial — cần định dạng lại ô đó thành kiểu Ngày (Ctrl+1 → Date) để hiển thị đúng thành ngày tháng thay vì một dãy số. Sau bước này, cột mới đã là ngày thật, dùng được với mọi hàm ngày tháng khác.
Điểm cần cẩn thận: DATEVALUE đọc theo định dạng vùng miền của máy
DATEVALUE không tự đoán "ngày/tháng/năm" theo một chuẩn cố định — nó đọc chuỗi theo đúng cách máy tính đang cấu hình vùng miền (Region settings). Với một chuỗi mập mờ như "03/04/2026":

Máy cấu hình định dạng Việt Nam/Anh (ngày/tháng/năm) hiểu đây là 3 tháng 4.
Máy cấu hình định dạng Mỹ (tháng/ngày/năm) hiểu đây là 4 tháng 3.
Cả hai cách đọc đều không báo lỗi — DATEVALUE cứ trả về một ngày hợp lệ, chỉ là sai ngày so với ý định ban đầu. Rủi ro này chỉ lộ ra khi file được mở trên một máy cấu hình vùng miền khác với máy tạo ra dữ liệu, và không có cách nào để công thức tự phát hiện — cách an toàn nhất là kiểm tra vài dòng đầu bằng mắt sau khi chuyển đổi, đặc biệt với ngày có cả hai phần đều nhỏ hơn 13 (dễ nhầm) như ví dụ trên.
TIMEVALUE dùng cùng cách với dữ liệu giờ giấc dạng văn bản
=TIMEVALUE(B2)
Cùng vấn đề, cùng cách sửa — dữ liệu giờ chấm công xuất ra dạng văn bản "08:45:30" cần TIMEVALUE để chuyển thành giờ thật trước khi dùng được với HOUR, MINUTE, hay cộng trừ thời lượng.
Tổng kết
DATEVALUE và TIMEVALUE chuyển chuỗi văn bản ngày giờ thành giá trị tính toán được, sửa đúng lỗi #VALUE! khi các hàm ngày tháng gặp phải ô trông giống ngày nhưng thực chất là văn bản. Điểm cần nhớ: DATEVALUE đọc chuỗi mập mờ theo định dạng vùng miền của máy đang mở file, nên luôn kiểm tra lại kết quả khi chuỗi gốc có cả phần ngày và tháng đều nhỏ hơn 13.
Đọc tiếp trong cùng cụm bài: WORKDAY, WORKDAY.INTL — tính ngày làm việc sau N ngày, bỏ qua cuối tuần và ngày nghỉ.
Mục lục
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
TIME: dựng một giá trị giờ từ ba con số riêng lẻ, chiều ngược lại của HOUR/MINUTE/SECOND
TIME ghép ba con số giờ, phút, giây riêng lẻ thành một giá trị thời gian thật — chiều ngược lại của HOUR/MINUTE/SECOND. Vượt quá 24 tiếng không báo lỗi mà tự động cuộn vòng, dễ gây bất ngờ nếu không để ý.
NOW: ngày và giờ hiện tại, và vì sao không nên dùng để đóng dấu thời gian cố định
NOW trả về cả ngày và giờ hiện tại, khác TODAY chỉ trả về ngày. Vì là hàm biến động, NOW tự tính lại mỗi khi bảng tính tính toán lại — không phù hợp để đóng dấu thời gian cố định cho một sự kiện đã xảy ra.
WORKDAY, WORKDAY.INTL: tính ngày làm việc sau N ngày, bỏ qua cuối tuần và ngày nghỉ
WORKDAY tính ra ngày kết thúc sau khi cộng thêm N ngày làm việc, tự động bỏ qua cuối tuần và danh sách ngày nghỉ — ngược chiều với NETWORKDAYS. WORKDAY.INTL thêm khả năng đổi cuối tuần sang bất kỳ hai ngày nào trong tuần.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.