Xin các bác giúp đỡ cách đổi thời gian thành số thập phân (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

huyphanthieu

Thành viên mới
Tham gia
26/3/25
Bài viết
3
Được thích
0
- Tình hình là mình làm báo cáo dựa trên thời gian và mình dùng hàm tính thời gian bằng hàm Sequence kết hợp hàm index và match để tìm kiếm. Vấn đề mình gặp phải là khi làm báo cáo ở khung giờ 18h30 thì khi đổi ra số thập phân thì nó lại khác với số thập phân khi mình nhập tay ( 18:30 ).
- Số thập phân khi dùng hàm sequence là: 0.770833333333334 - Và khi nhập tay là: 0.770833333333333
- Sai số tuy nhỏ nhưng khi sử dụng hàm index và match khi tìm kiếm thì lại không ra.
- Xin các bác tư vấn giúp ạ. Chân thành cám ơn
 
Hơi thắc mắc là bạn đổi thành số thập phân như vậy để áp dụng vào công việc gì? Vì nếu là thời lượng thì thông thường sẽ đổi 8 giờ 30 phút thành 8,5 giờ hoặc 510 phút, còn "khung giờ" như bạn nói thì thường giữ nguyên để tính toán, ít khi đổi như vậy. Bạn nói rõ công việc cần làm, có khi có hướng khác tốt hơn
 
Thử thay đối số thứ 3 hàm match bằng 1 hoặc -1 ?
Cám ơn bạn đã góp ý. Mình đã thử nhưng ko được ạ
Bài đã được tự động gộp:

Hơi thắc mắc là bạn đổi thành số thập phân như vậy để áp dụng vào công việc gì? Vì nếu là thời lượng thì thông thường sẽ đổi 8 giờ 30 phút thành 8,5 giờ hoặc 510 phút, còn "khung giờ" như bạn nói thì thường giữ nguyên để tính toán, ít khi đổi như vậy. Bạn nói rõ công việc cần làm, có khi có hướng khác tốt hơn
Mình không chủ động đổi theo số thập phân ạ.
Mình sử dụng hàm sequence lồng trong hàm match và index để tìm kiếm nhiều điều kiện trong đó cần thời gian. Mình nhập báo cáo thời gian thì nhập 18:30 ( sử dụng định dạng format hh:mm ) để thuận tiện cho việc copy paste vào hệ thống ( hệ thống mặc định format hh:mm ).
Cám ơn bạn đã quan tâm và góp ý.
 
Lần chỉnh sửa cuối:
- Tình hình là mình làm báo cáo dựa trên thời gian và mình dùng hàm tính thời gian bằng hàm Sequence kết hợp hàm index và match để tìm kiếm. Vấn đề mình gặp phải là khi làm báo cáo ở khung giờ 18h30 thì khi đổi ra số thập phân thì nó lại khác với số thập phân khi mình nhập tay ( 18:30 ).
- Số thập phân khi dùng hàm sequence là: 0.770833333333334 - Và khi nhập tay là: 0.770833333333333
Sao bạn không dùng công thức đổi ngày giờ sang Unix để tránh sai số khi vượt quá 15 số thập phân.

Screenshot 2025-06-24 at 15.29.45.png
 
Sao bạn không dùng công thức đổi ngày giờ sang Unix để tránh sai số khi vượt quá 15 số thập phân.

View attachment 308660
hic, cám ơn bạn đã gợi ý, đúng ý mình là muốn chuyển ngày giờ sang dạng khác để tránh sai số, nhưng mình lại không biết giải thích như nào.
cách của bạn đúng ý mình cần, cám ơn bạn nhiều ạ.
 
Bạn nên có file mô tả sẽ dễ hơn
Tại chủ thớt chủ quan nghĩ rằng:
- Số thập phân khi dùng hàm sequence là: 0.770833333333334 - Và khi nhập tay là: 0.770833333333333
- Sai số tuy nhỏ nhưng khi sử dụng hàm index và match khi tìm kiếm thì lại không ra.


Nếu bình tĩnh nhớ lại luật so sánh số thực sẽ biết rằng con số ví dụ trên lọt vào đúng giới hạn độ chính xác của số thực trong máy tính (15 chữ số).
Luật so sánh số thực:
- Hai số thực không thể so sánh bằng nhau được. Dân làm việc với toán số phải chấp nhận một sai số định trước. Ví dụ 10^(10) -- trong ví dụ của thớt, "sai số nhỏ" của thớt nằm ở độ 10^(-15)

Vấn đề của thớt có nhiều cách giải quyết. Cách dễ nhất là dùng nguyên tắc hàm so sánh:
IF(ABS(a - b) <= 1E-14, "bằng nhau", "không bằng nhau")
 
Web KT

Bài viết mới nhất

Back
Top Bottom