Hỏi cách thiết lập công thức tính phép năm (3 người xem)

Liên hệ QC

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

linhsunny

Thành viên mới
Tham gia
23/3/18
Bài viết
8
Được thích
0
Giới tính
Nữ
Chào các ac trong diễn đàn!
Các ac giúp em thiết lập công thức tính phép năm trong ex với ạ.
Phép năm ở doanh nghiệp em thanh toán theo từng năm. Nên giờ em muốn thiết lập 1 công thức tính phép ở cột số ngày phép được hưởng tính đến thời điểm hiện tại nếu ngày vào chính thức của công nhân mà được khoảng 7 ngày thì tháng đó sẽ được cộng thêm 1 ngày phép ạ.
Em gửi file đính kèm phía dưới các ac trong diễn đàn giúp em với nha.
Em cảm ơn ac nhiều ạ
 

File đính kèm

Công thức H4:
Mã:
=IFERROR(MIN(DATEDIF(E4,DATE(2019,5,1)-1,"m")+(EOMONTH(E4,0)+1-E4>7),MONTH(DATE(2019,5,1))-1),0)
 

File đính kèm

Công thức H4:
Mã:
=IFERROR(MIN(DATEDIF(E4,DATE(2019,5,1)-1,"m")+(EOMONTH(E4,0)+1-E4>7),MONTH(DATE(2019,5,1))-1),0)
Dạ em cảm ơn anh ạ. Nhưng ý em là nếu 1 người vào chính thức ngày 03/05/2019 thì đến ngày 10/05/2019 nó tự động nhảy thêm 1 ngày phép và đến ngày 10/06 lại được cộng thêm 1 phép nữa ý ạ.
 
Dạ em cảm ơn anh ạ. Nhưng ý em là nếu 1 người vào chính thức ngày 03/05/2019 thì đến ngày 10/05/2019 nó tự động nhảy thêm 1 ngày phép và đến ngày 10/06 lại được cộng thêm 1 phép nữa ý ạ.
Có phải bạn tính phép như sau không?
  1. Nếu "Ngày vào chính thức" ở năm cũ thì tính phép trong năm 2019 sẽ bắt đầu từ ngày 01/01/2019.
  2. Nếu "Ngày vào chính thức" ở năm 2019 thì tính thời gian thực tế phát sinh, đồng thời tính:
    • Nếu là những tháng trước tháng hiện tại (đang là tháng 05/2019), thì "Ngày vào chính thức" so với ngày cuối tháng đó nếu từ 7 ngày trở lên thì được tính 1 ngày phép năm cho tháng đó, ngược lại thì không tính. Sau đó tính tiếp đến ngày "Hôm nay", nếu từ 7 ngày trở lên được tính thêm 1 ngày.
    • Nếu là tháng hiện tại (tháng 05/2019), thì lấy "Ngày vào chính thức" so với ngày "Hôm nay", nếu từ 7 ngày trở lên thì được tính 1 ngày phép năm cho tháng này.
  3. Ngoài ra, nếu có "Ngày Nghỉ việc" thì tính phép năm đến thời điểm nghỉ, cũng tính nếu từ 7 ngày trở lên thì được tính 1 ngày cho tháng nghỉ việc đó, cộng thêm những tháng trước trong cùng năm (nếu có).
Nếu đúng như trên, bạn dùng:
Mã:
H4=IFERROR(IF(E4<=TODAY(),DATEDIF(EOMONTH(MAX(E4,$D$2),(EOMONTH(MAX(E4,$D$2),0)+1-MAX(E4,$D$2)>6)*-1)+1,IF(F4,EOMONTH(F4,(DAY(F4)<7)*-1)+1,TODAY()),"m")+ (F4="")*(TODAY()-MAX(E4,EOMONTH(TODAY(),-1))+1>6),),)
Enter, fill xuống.

Công thức trên chưa tính đến thâm niên nếu làm từ 5 năm trở lên được cộng 1 ngày phép.

Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Bẫy thêm hàm max:

=IFERROR(DATEDIF(MAX(E4,DATE(YEAR(TODAY()),1,1)),TODAY()-7,"m")+(TODAY()>E4+6),0)
Những người vào từ năm 2018 trở về trước đều được 5 ngày phép là chưa đúng, hôm nay mới là ngày 09/05/2019 thì chỉ được 4 ngày thôi.
 
Công thức này, những người vào làm ngày 1 hoặc 2/1/2019 có 5 ngày phép; còn những người làm việc trước đó chỉ có 4 ngày phép.
Thì yêu cầu là vậy mà. Chính xác là vào từ ngày 26/12/2018 đến 02/01/2109 thì có 5 ngày phép, vào trước ngày 26/12/2018 thì chỉ có 4 ngày phép.
Ghi chú: Ngày phép là ngày phép của năm 2019 tính đến ngày hiện tại.
 
Có phải bạn tính phép như sau không?
  1. Nếu "Ngày vào chính thức" ở năm cũ thì tính phép trong năm 2019 sẽ bắt đầu từ ngày 01/01/2019.
  2. Nếu "Ngày vào chính thức" ở năm 2019 thì tính thời gian thực tế phát sinh, đồng thời tính:
    • Nếu là những tháng trước tháng hiện tại (đang là tháng 05/2019), thì "Ngày vào chính thức" so với ngày cuối tháng đó nếu từ 7 ngày trở lên thì được tính 1 ngày phép năm cho tháng đó, ngược lại thì không tính. Sau đó tính tiếp đến ngày "Hôm nay", nếu từ 7 ngày trở lên được tính thêm 1 ngày.
    • Nếu là tháng hiện tại (tháng 05/2019), thì lấy "Ngày vào chính thức" so với ngày "Hôm nay", nếu từ 7 ngày trở lên thì được tính 1 ngày phép năm cho tháng này.
  3. Ngoài ra, nếu có "Ngày Nghỉ việc" thì tính phép năm đến thời điểm nghỉ, cũng tính nếu từ 7 ngày trở lên thì được tính 1 ngày cho tháng nghỉ việc đó, cộng thêm những tháng trước trong cùng năm (nếu có).
Nếu đúng như trên, bạn dùng:
Mã:
H4=IFERROR(IF(E4<=TODAY(),DATEDIF(EOMONTH(MAX(E4,$D$2),(EOMONTH(MAX(E4,$D$2),0)+1-MAX(E4,$D$2)>6)*-1)+1,IF(F4,EOMONTH(F4,(DAY(F4)<7)*-1)+1,TODAY()),"m")+ (F4="")*(TODAY()-MAX(E4,EOMONTH(TODAY(),-1))+1>6),),)
Enter, fill xuống.

Công thức trên chưa tính đến thâm niên nếu làm từ 5 năm trở lên được cộng 1 ngày phép.

Thân
Dạ vâng. Đúng là em muốn tính như này ạ. Anh cho em hỏi là muốn học thêm về ex và cách tư duy thiết lập công thức thì mình nên mua khóa học nào hay tìm hiểu như nào để đạt hiệu quả ạ. Em cảm ơn ạ
Bài đã được tự động gộp:

Em cảm ơn các ac đã giúp đỡ em ạ. Chúc ac một ngày mới tràn đầy năng lượng ạ!
 
Nếu là những tháng trước tháng hiện tại (đang là tháng 05/2019), thì "Ngày vào chính thức" so với ngày cuối tháng đó nếu từ 7 ngày trở lên thì được tính 1 ngày phép năm cho tháng đó, ngược lại thì không tính. Sau đó tính tiếp đến ngày "Hôm nay", nếu từ 7 ngày trở lên được tính thêm 1 ngày.
Theo mô tả này thì nếu ngày vào là 23/04/2019 thì đến hôm nay (10/05/2019) sẽ có 2 ngày phép phải không? Công ty bạn tính ngộ nhỉ.
 
Theo mô tả này thì nếu ngày vào là 23/04/2019 thì đến hôm nay (10/05/2019) sẽ có 2 ngày phép phải không? Công ty bạn tính ngộ nhỉ.
Dạ không phải đâu ạ. Nếu ngày 23/04/2019 vào thì ngày 30/4 được 1 phép và phải đến ngày 30/5 mới được thêm 1 phép nữa cơ ạ. Tức là tính từ thời điểm vào chính thức cứ mỗi tháng sau ngày vào chính thức ít nhất là 7 ngày thì mới dc tính 1 phép a ạ
 
Web KT

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

Back
Top Bottom