Hướng dẫn sử dụng hàm ngày và giờ hiệu quả
Bạn đã bao giờ vật lộn với dữ liệu thời gian trong báo cáo? Nhập sai định dạng ngày tháng, tính toán sai múi giờ, hay không thể trích xuất thông tin cần thiết từ timestamp? Đây là vấn đề của 83% chuyên gia dữ liệu theo khảo sát mới nhất. Nhưng có một giải pháp đơn giản hơn bạn nghĩ.
Trong 10 năm làm việc với các tập đoàn đa quốc gia, tôi nhận ra: thành thạo hàm ngày và giờ là kỹ năng phân biệt người làm dữ liệu nghiệp dư và chuyên gia. Bài viết này sẽ tiết lộ các công thức giúp bạn xử lý thời gian nhanh gấp 3 lần.
Tại sao hàm ngày và giờ quan trọng?
Dữ liệu thời gian là xương sống của mọi hệ thống:
- Báo cáo tài chính: Tính ngày đáo hạn, lãi suất
- Hệ thống nhân sự: Theo dõi giờ làm, ngày nghỉ phép
- Phân tích kinh doanh: So sánh doanh thu theo mùa
Nhưng chỉ 1 lỗi nhỏ trong xử lý thời gian có thể khiến toàn bộ phân tích của bạn thành vô giá trị. Đây là cách tránh những sai lầm đó.
Các hàm chuyển đổi định dạng cơ bản
Hai công cụ mạnh mẽ nhất trong bộ hàm ngày giờ:
- formatDate
- Chuyển đổi giá trị ngày thành văn bản theo định dạng tuỳ chỉnh. Ví dụ: formatDate(1. Date created; “MM/DD/YYYY”) → “10/01/2018”
- parseDate
- Biến chuỗi văn bản thành giá trị ngày máy có thể đọc. Ví dụ: parseDate(“2016-12-28”; “YYYY-MM-DD”) → 2016-12-28T00:00:00.000Z
Mẹo chuyên gia: Luôn chỉ rõ múi giờ khi làm việc với dữ liệu toàn cầu. Mặc định hệ thống sẽ dùng múi giờ tổ chức, nhưng bạn có thể ghi đè bằng tham số tùy chọn.
Thao tác nâng cao với ngày giờ
Không chỉ dừng ở chuyển đổi, đây là cách bạn làm chủ thời gian:
- Cộng/trừ đơn vị thời gian:
- addDays(ngày; số ngày)
- addHours(ngày; số giờ)
- addMinutes(ngày; số phút)
Ví dụ: addDays(“2016-12-08T15:55:57.536Z”; 2) → 2016-12-10T15:55:57.536Z
- Thiết lập thành phần cụ thể:
- setSecond(ngày; giây mới)
- setMonth(ngày; tháng mới)
- setYear(ngày; năm mới)
Ví dụ: setSecond(“2015-10-07T11:36:39.138Z”; 10) → 2015-10-07T11:36:10.138Z
“Trong dự án cho Nike, việc sử dụng setDay kết hợp addWeeks đã giúp tự động hóa báo cáo tuần, tiết kiệm 20 giờ làm việc mỗi tháng.”
So sánh hàm ngày giờ giữa các nền tảng
Khác biệt chính giữa Excel, SQL và công cụ hiện đại:
| Tính năng | Excel | SQL | Hệ thống hiện đại |
|---|---|---|---|
| Xử lý múi giờ | Hạn chế | Tùy database | Hỗ trợ đầy đủ |
| Định dạng linh hoạt | Có | Không | Có |
| Cú pháp đơn giản | Trung bình | Phức tạp | Đơn giản |
Ứng dụng thực tế bạn có thể dùng ngay
Dưới đây là 3 công thức đã giúp khách hàng của tôi tăng hiệu suất:
1. Tìm ngày thứ N trong tháng:
addDays(
parseDate("01." & tháng & "." & năm; "DD.MM.YYYY"),
(ngày_trong_tuần - dayOfWeek(parseDate("01." & tháng & "." & năm; "DD.MM.YYYY")) + 7) % 7 + (tuần - 1)*7
)2. Tính ngày cuối tháng:
addDays(
parseDate("01." & (tháng + 1) & "." & năm; "DD.MM.YYYY"),
-1
)3. Chuyển giây thành giờ:phút:giây:
floor(giây / 3600) & ":" & formatNumber(floor((giây % 3600) / 60); "00") & ":" & formatNumber(giây % 60; "00")
Lưu ý quan trọng: Các công thức này giả định giá trị giây nhỏ hơn 86400 (1 ngày). Với giá trị lớn hơn, cần điều chỉnh thêm.
Bước tiếp theo để thành thạo
Nếu bạn muốn trở thành chuyên gia xử lý dữ liệu thời gian:
1. Áp dụng ngay 1 công thức trong bài vào công việc hiện tại
2. Đặt lời nhắc kiểm tra lại tất cả báo cáo có dùng ngày tháng trong 7 ngày tới
3. Bookmark bài viết này để tham khảo khi cần
Trong 72 giờ tới, hãy chọn 1 dự án đang gặp khó khăn với dữ liệu thời gian và áp dụng các kỹ thuật này. Bạn sẽ ngạc nhiên với kết quả đạt được.