Giúp mình với cách Quản lý NĂM, THÁNG, NGÀY Làm việc tại Công ty

tuannq1973

Sơ cấp
Có môt danh sách ngươì lao động bắt đầu vào làm việc tai công ty khác nhau.
Các Bạn Làm và chỉ giúp mình cách Dùng hàm công thức nào để tính được Tổng số năm, tháng, ngày làm việc công tác tại công ty cua mọi người mà máy tính luôn cập nhật
 
F23= ngày vào,
G23= ngày đi, (nếu chưa đi thì là ngày hiện tại =NOW() )

H23 (tổng tgian) =+DATEDIF(F23,G23,"y")&"năm, "&DATEDIF(F23,G23,"ym")&"tháng, "&DATEDIF(F23,G23,"md")&"ngày"

thân,
 
Sửa lần cuối:
Có gì đâu bạn. Bạn tạo một cột là ngày bắt đầu làm việc, cột này ghi ngày họ được tiếp nhận vào làm việc.

Và cột nữa ghi số ngày làm việc tại công ty: = Today() - ngày bắt đầu làm việc.

Nếu quản lý cả những người đã nghỉ thì bạn làm hơn một chút

=IF(ngaynghi>0, ngaynghi - ngaybatdau, Today()-ngaybatdau)

Chúc vui!
 
Sửa lần cuối:
Có gì đâu bạn. Bạn tạo một cột là ngày bắt đầu làm việc, cột này ghi ngày họ được tiếp nhận vào làm việc.

Và cột nữa ghi số ngày làm việc tại công ty: = Today() - ngày bắt đầu làm việc.

Chúc vui!

làm như vậy thì có ra dc Tổng số năm, tháng, ngày làm việc công tác tại công ty như tuannq1973 ycầu ko?
 
Cho ra ba số liệu luôn bằng 1 hàm tự tạo!

Có môt danh sách ngươì lao động bắt đầu vào làm việc tai công ty khác nhau.
Các Bạn Làm và chỉ giúp mình cách Dùng hàm công thức nào để tính được Tổng số năm, tháng, ngày làm việc công tác tại công ty cua từng người mà máy tính luôn cập nhật

Hàm tự tạo sau đây sẽ tính số nam, số tháng & số ngày của từng người
Option Explicit
Function NgayThangNam(Dat1 As Date, Optional Dat2 As Date) As String
If Dat2 = 0 Then Dat2 = Date
Dim Nam As Byte, Thang As Integer, Ngay As Long
If Dat1 > Dat2 Then
Dim Dat As Date: Dat = Dat2
Dat2 = Dat1: Dat1 = Dat
End If
Nam = DateDiff("YYYY", Dat1, Dat2)
Thang = DateDiff("M", DateSerial(Year(Dat1) + Nam, Month(Dat1), Day(Dat1)), Dat2)
If Thang < 0 Then
Nam = Nam - 1
Thang = DateDiff("M", DateSerial(Year(Dat1) + Nam, Month(Dat1), Day(Dat1)), Dat2)
End If
Ngay = DateDiff("d", DateSerial(Year(Dat1) + Nam, Month(Dat1) + Thang, Day(Dat1)), Dat2)
If Ngay < 0 Then
Thang = Thang - 1
Ngay = DateDiff("d", DateSerial(Year(Dat1) + Nam, Month(Dat1) + Thang, Day(Dat1)), Dat2)
End If
NgayThangNam = Nam & " nam, " & Thang & " thang & " & Ngay & " ngay."
End Function

Các chú í khi sử dụng:

(*) Hàm cần chí ít 1 thông số, đó là ngày bắt đầu (vô làm việc, lên lương lần trước, ngày sinh, fát sinh hợp đồng . . .)
Nếu bạn bỏ qua thông số thứ hai, hàm sẽ tự lấy ngày hiện hành để thay làm ngày cuối để tính.
Bạn có thể nhập thông số không theo thứ tự tăng dần cũng được(!)
Ví dụ trong ô nào đó trên trang tính bạn nhập:
= ngaythangnam(#12/15/2010#,#7/21/2009#)
Bạn sẽ nhận được chuỗi:
1 nam, 4 thang & 24 ngay.
Nếu bạn muốn lấy các số liệu ngày tháng năm này để tính toán, thì phải rành về hàm cắt chuỗi trong êxcel mà mốc là các dấu ',' & '&'

Thân ái!
 
Hàm tự tạo sau đây sẽ tính số nam, số tháng & số ngày của từng người


Các chú í khi sử dụng:

(*) Hàm cần chí ít 1 thông số, đó là ngày bắt đầu (vô làm việc, lên lương lần trước, ngày sinh, fát sinh hợp đồng . . .)
Nếu bạn bỏ qua thông số thứ hai, hàm sẽ tự lấy ngày hiện hành để thay làm ngày cuối để tính.
Bạn có thể nhập thông số không theo thứ tự tăng dần cũng được(!)
Ví dụ trong ô nào đó trên trang tính bạn nhập:
= ngaythangnam(#12/15/2010#,#7/21/2009#)
Bạn sẽ nhận được chuỗi:
1 nam, 4 thang & 24 ngay.
Nếu bạn muốn lấy các số liệu ngày tháng năm này để tính toán, thì phải rành về hàm cắt chuỗi trong êxcel mà mốc là các dấu ',' & '&'

Thân ái!

Cách của SA DQ so với cách này:
F23= ngày vào,
G23= ngày đi, (nếu chưa đi thì là ngày hiện tại =NOW() )

H23 (tổng tgian) =+DATEDIF(F23,G23,"y")&"năm, "&DATEDIF(F23,G23,"ym")&"tháng, "&DATEDIF(F23,G23,"md")&"ngày"

cách nào nhanh hơn nhỉ?
 
cam on cac ban
cách của bạn SA DQ minh không hiêu làm như nào ?
con cách của Ban ketoan4nat, mình đã hiểu duọc mọt phân nào rồi, nhung không hiểu cấu trúc Hàm tính toán
Bạn có thể giả thích Hàm tinh toán này dung vào công cụ gi đc ko?
Xin trân trọng cảm ơn các bạn rât nhiều. Ban có thể làm một ví dụ giúp nhé
 
Cách của SA DQ so với cách này:
cách nào nhanh hơn nhỉ?

Mình không có hàm đó trong excel, nhưng trong VBA mình thử & kết quả như sau:
?datediff("yyyy",#10/15/2008#,date)
1
?datediff("M",#10/15/2008#,date)
6
?datediff("D",#10/15/2008#,date)
175
Và với hàm của Sa_DQ:
?NgayThangNam(#10/15/2008#,date)
0 nam, 5 thang & 24 ngay.
 
cam on cac ban
cách của bạn SA DQ minh không hiêu làm như nào ?
con cách của Ban ketoan4nat, mình đã hiểu duọc mọt phân nào rồi, nhung không hiểu cấu trúc Hàm tính toán
Bạn có thể giả thích Hàm tinh toán này dung vào công cụ gi đc ko?
Xin trân trọng cảm ơn các bạn rât nhiều. Ban có thể làm một ví dụ giúp nhé

thật sự mình cũng ko ng/kíu chi tiết nhìu về công dụng hàm:banana: , cách này mình biết và sdụng lâu nay nên share cho moi ng`.
Còn vi dụ hả? mình đã cụ thể ròi mà: ô F23..., ô G23..., ô H23...
Bạn thử xem nhé!
 
Back
Top