Hỏi cách làm tròn thời gian. (1 người xem)

Liên hệ QC

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

justin_vn

Thành viên chính thức
Tham gia
26/6/13
Bài viết
87
Được thích
5
Hôm trc mình cũng hỏi nhưng mà chưa làm đc, Topic lại bị khóa mất rồi.
CHo mình hỏi cách làm tròn thời gian theo mỗi 15 phút.
Ví dụ như từ 9h01 đến 9h14 thì thành tròn 9h15, từ 9h116 đến 9h30 thì làm tròn thành 9h30.
Hoặc làm tròn xuống như 22h00 đến 22h14 thì thành 22h00, từ 22h15 đến 22h29 thì thành 22h15.
....
Ai giúp mình với. Mình đang cần gấp :(
 
Bạn hỏi ở đây chứ gì?

[thongbao]http://www.giaiphapexcel.com/forum/showthread.php?82722-Giúp-mình-tính-bảng-lương-với [/thongbao]
Ở đó mình đã trả lời rồi;
Bạn chịu khó xem lại file đính kèm xem sao?

Hay bạn kiểm theo file này; Trong nớ mình có bịa ra số liệu ca 3

Những chú í khi xem file:

Dữ liệu trong trang 'SoLieu' đang là kiểu chuỗi.
Nhưng chọn 1 ô nào đó từ các cột sau 'B' & nhấn {ENTER} thì nó sẽ biến thành số liệu chỉ thời gian; Chuyện này đã gặp nhiều từ các trang tính chấm công bấm thẻ xuất sang excel

(Mình cũng chưa rõ lắm sao bài đó bị khóa; Nhưng dù sao bạn cũng cần rút kinh nghiệm)
 

File đính kèm

ý mình là giờ vào với giờ ra thì làm tròn rồi mới trừ thành thời gian làm việc cơ. Cấp trên nó bắt tính cái kiểu đó T_________T
 
Thì bạn vô hiệu hóa các dòng lệnh mang số 1 đến dòng lệnh mang số 6 đi

PHP:
Option Explicit
Function TinhGio(StrC As String, Optional Vao As Boolean = True, Optional Dem As Boolean = False)
 Dim Gio As Long, Fut As Double
 
 Gio = CLng(Left(StrC, 2))
 Fut = CDbl(Right(StrC, 2))
1 If Vao Then
    Fut = Switch(Fut <= 15, 15, Fut <= 30, 30, Fut <= 45, 45, Fut > 45, 0)
    If Fut = 0 Then Gio = Gio + 1
 Else
    Fut = Switch(Fut < 15, 0, Fut <= 15, 30, Fut < 45, 30, Fut >= 45, 45)
6 End If
 TinhGio = TimeSerial(Gio, Fut, 0)
End Function

(Nhưng e rằng bạn cũng xem đến hàm này khi chuyển sang áp dụng qui trình làm tròn theo kiểu không giống ai của CQ bạn;

Nếu việc này vi fạm Bộ Luật LĐ thì sẽ không được trợ giúp tiếp nữa!)
 
Tôi chỉ dùng công thức để làm tròn lên hay xuống từng 15 phút trong file đính kèm
 

File đính kèm

(Nhưng e rằng bạn cũng xem đến hàm này khi chuyển sang áp dụng qui trình làm tròn theo kiểu không giống ai của CQ bạn;

Nếu việc này vi fạm Bộ Luật LĐ thì sẽ không được trợ giúp tiếp nữa!)

Cái này có quy định rõ của cty rồi nên mình k rõ nữa :(...
K biết có vi phạm gì k. Vì chỗ mình cty nhỏ :(.
 
Tôi chỉ dùng công thức để làm tròn lên hay xuống từng 15 phút trong file đính kèm

Thanks bạn nha. Mình làm đc rồi.
NHưng giờ để tính tổng số giừo đã làm việc.
Mình lấy giờ ra trừ giờ vào. Thì nó đc kết quả cũng là thời gian
Ví dụ như vào 9h30, ra 17h15, thì đc kết quả thời gian làm việc là 7:45
Giờ làm sao để mình đổi 7:45 đó thành 7,75 tiếng, để nhân với tiền lương được??
Mình đã thử format thành General nhưng nó toàn cho kết quả là 0,32....
:(
 
Bạn kích chuột phải vào file đang mở chọn "Format cells..." rồi chọn thẻ "Number/Time" là được
 
Tôi chỉ dùng công thức để làm tròn lên hay xuống từng 15 phút trong file đính kèm

Công thức:
=INT(C3/$J$1)*$J$1+IF(MOD(C3;$J$1);$J$1;0)

Sẽ sai khi số phút chia chẵn 15: Cụ thể C6 = 16:30 bị biến thành 16:45, lẽ ra giữ nguyên. Lý do khi tính toán hàm mod, có 1 sai số vô cùng bé và không bằng 0.

Công thức sau đơn giản hơn:

1. Làm tròn lên:

G3 =CEILING(C3;15/1440)

2. Làm tròn xuống:

H3 =FLOOR(D3;15/1440)

Giờ làm sao để mình đổi 7:45 đó thành 7,75 tiếng, để nhân với tiền lương được??
Mình đã thử format thành General nhưng nó toàn cho kết quả là 0,32....
:(

3. Quy đổi ra giờ thập phân:

Lấy kết quả trên nhân 24, định dạng general
 

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

Back
Top Bottom