Mỗi tháng tôi mất 3 giờ để tính giờ làm cho 50 nhân viên. Process là export dữ liệu từ máy chấm công dạng văn bản, mở trong Excel, rồi convert từng ô thành định dạng thời gian thực. Một lần quên định dạng đúng, toàn bộ tính lương sai lệch 15 triệu. Giờ đây cùng file chấm công đó, tôi hoàn thành trong 10 phút không cần thao tác thủ công nhờ hàm TIMEVALUE.

Vấn đề thực sự là thời gian dạng văn bản
Máy chấm công xuất dữ liệu giờ vào ra dưới dạng văn bản thuần túy: “08:30”, “17:45”, “22:15”. Mặc dù trông giống thời gian, Excel không nhận diện chúng là giá trị số. Khi thử tính chênh lệch giờ bằng phép trừ đơn giản, kết quả trả về là 0 hoặc lỗi.
Cách tôi làm trước đây là chọn toàn bộ cột, click chuột phải, chọn định dạng ô, đổi sang Time. Nhưng nếu dữ liệu có format không nhất quán, một nửa ô chuyển thành công, nửa còn lại vẫn là text. Phải kiểm tra từng dòng, rất dễ bỏ sót.
Điểm yếu của cách thủ công:
- Mất 15-20 phút cho 200 dòng dữ liệu
- Format không nhất quán gây lỗi tính toán
- Phải lặp lại mỗi khi import file mới
- Không scale được khi số lượng nhân viên tăng
Cách TIMEVALUE chuyển đổi tức thì
Hàm TIMEVALUE nhận một chuỗi văn bản biểu thị thời gian và trả về giá trị số thập phân mà Excel sử dụng nội bộ để tính toán. Cú pháp đơn giản:
=TIMEVALUE(time_text)
Trong đó time_text là chuỗi văn bản chứa thời gian. Có thể là tham chiếu ô hoặc nhập trực tiếp trong dấu ngoặc kép.
Cách Excel lưu trữ thời gian:
- 0 tương đương 00:00:00 (nửa đêm)
- 0.5 tương đương 12:00:00 (giữa trưa)
- 0.999988426 tương đương 23:59:59 (cuối ngày)
Ví dụ cụ thể:
- =TIMEVALUE(“08:30”) trả về 0.354166667
- =TIMEVALUE(“17:45”) trả về 0.739583333
- =TIMEVALUE(“14:30 CH”) trả về 0.604166667
Hàm tự động nhận diện cả định dạng 24 giờ và 12 giờ có kèm SA/CH. Không cần lo lắng về format ban đầu.
Tính giờ làm tự động trong 3 bước
Giả sử bảng chấm công có cột B chứa giờ vào dạng text, cột C chứa giờ ra dạng text. Cần tính số giờ làm việc trong cột D.
Bước 1: Nhập công thức cơ bản Trong ô D2, nhập:
=(TIMEVALUE(C2)-TIMEVALUE(B2))*24
Công thức này chuyển cả giờ vào và giờ ra thành số thập phân, trừ để lấy chênh lệch, rồi nhân 24 để đổi từ phân số ngày thành số giờ.
Bước 2: Định dạng kết quả Ô D2 có thể hiển thị số thập phân như 9.25 (tương đương 9 giờ 15 phút). Để hiển thị dạng giờ:phút, chọn ô D2, nhấn Ctrl+1, chọn Custom, nhập định dạng:
[h]:mm
Dấu ngoặc vuông quanh h cho phép hiển thị vượt 24 giờ. Hữu ích khi tính tổng giờ làm trong tuần hoặc tháng.
Bước 3: Copy công thức xuống Kéo Fill Handle từ ô D2 xuống hết cột. Công thức tự động điều chỉnh tham chiếu hàng.
Ví dụ với dữ liệu thực:
| Nhân viên | Giờ vào | Giờ ra | Giờ làm |
|---|---|---|---|
| Minh | 08:00 | 17:30 | 9.5 |
| Hương | 08:30 | 18:00 | 9.5 |
| Tuấn | 07:45 | 16:45 | 9 |
Công thức trong D2: =(TIMEVALUE(C2)-TIMEVALUE(B2))*24 cho kết quả 9.5 giờ cho Minh.
Xử lý trường hợp đặc biệt
Dữ liệu thực tế thường phức tạp hơn. Một số case tôi gặp thường xuyên:
Thời gian kèm ngày tháng: Nếu máy chấm công export dạng “15/10/2024 08:30”, TIMEVALUE tự động bỏ qua phần ngày và chỉ lấy phần thời gian:
=TIMEVALUE("15/10/2024 08:30") → 0.354166667
Format 12 giờ với SA/CH: Hàm nhận diện cả “SA” và “CH” tiếng Việt:
=TIMEVALUE("8:30 SA") → 0.354166667
=TIMEVALUE("8:30 CH") → 0.854166667
Lỗi VALUE xuất hiện khi:
- Văn bản không phải định dạng thời gian hợp lệ
- Ô chứa số thay vì text (phải convert sang text trước)
- Ký tự đặc biệt trong chuỗi thời gian
Kiểm tra bằng cách click vào ô nghi ngờ. Nếu văn bản căn trái thay vì căn phải, đó là text. Nếu căn phải, Excel đã tự nhận dạng là số.
Kết hợp với DATEVALUE cho dữ liệu đầy đủ
Khi cần tách ngày và giờ từ chuỗi dạng “15/10/2024 14:30:00”, kết hợp TIMEVALUE với các hàm text:
Tách giờ:
=TIMEVALUE(MID(A2,12,8))
MID lấy 8 ký tự từ vị trí thứ 12 (phần giờ:phút:giây), TIMEVALUE chuyển thành số.
Tách ngày:
=DATEVALUE(LEFT(A2,10))
LEFT lấy 10 ký tự đầu (phần ngày/tháng/năm), DATEVALUE chuyển thành số ngày.
Tính lương theo giờ: Nếu lương 50.000 đồng/giờ, công thức trong ô lương:
=(TIMEVALUE(C2)-TIMEVALUE(B2))*24*50000
Giả sử làm 9.5 giờ: 9.5 × 50.000 = 475.000 đồng. Kéo xuống cho 50 nhân viên, tổng lương tính xong trong vài giây.
Kết quả sau 3 tháng
Từ khi áp dụng TIMEVALUE, thời gian xử lý bảng chấm công giảm từ 3 giờ xuống 10 phút. Công thức copy một lần, dùng mãi mãi cho mọi file mới. Zero lỗi tính toán vì không còn thao tác thủ công. Hàm TIMEVALUE hỗ trợ từ Excel 2000 trở lên, hoạt động trên mọi phiên bản hiện đại bao gồm Excel 365. Nếu đang tính công thủ công, áp dụng công thức này cho bảng chấm công hiện tại. Tiết kiệm thời gian ngay từ tháng đầu tiên.
