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

  • Thread starter tuannq1973
  • Ngày gửi
T

tuannq1973

Guest
19/12/07
2
0
0
50
My Dinh
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
 
Khóa học Quản trị dòng tiền
ketoan4mat

ketoan4mat

Cao cấp
24/4/03
3,906
17
38
Sài Gòn đẹp lắm
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:
ruadangyeu

ruadangyeu

Guest
30/9/06
143
1
0
Hanoi
my.opera.com
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:
ketoan4mat

ketoan4mat

Cao cấp
24/4/03
3,906
17
38
Sài Gòn đẹp lắm
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?
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
569
100
43
66
HCM city
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!
 
ketoan4mat

ketoan4mat

Cao cấp
24/4/03
3,906
17
38
Sài Gòn đẹp lắm
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ỉ?
 
T

tuannq1973

Guest
19/12/07
2
0
0
50
My Dinh
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é
 
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
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.
 
ketoan4mat

ketoan4mat

Cao cấp
24/4/03
3,906
17
38
Sài Gòn đẹp lắm
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é!
 

Xem nhiều

Webketoan Zalo OA