Tính ngày nghỉ hưu (1 người xem)

Liên hệ QC

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

khieukienag

Thành viên thường trực
Tham gia
29/4/08
Bài viết
276
Được thích
177
Nghề nghiệp
Ngành Giáo dục
Kể từ năm 2021, tuổi nghỉ hưu của người lao động trong điều kiện lao động bình thường là đủ 60 tuổi 03 tháng đối với lao động nam và đủ 55 tuổi 04 tháng đối với lao động nữ; sau đó cứ mỗi năm tăng thêm 03 tháng đối với lao động nam cho đến đủ 62 tuổi và 04 tháng đối với lao động nữ cho đến đủ 60 tuổi.
Xin gia đình GPE giúp hàm tính ngày nghỉ hưu vào cột E. Xin cảm ơn.
Hoi_GPE.gif

Xin kèm file.
 

File đính kèm

Theo đề bài của bạn có phải như bảng kê này không:

NamNữ
NămNămThángNămTháng
2020603554
2021606558
202260956
202361564
2024613568
202461657
2025619574
202662578
202758
2028584
2029588
203059
2031594
2032598
203360
 
Cám ơn bác SA_DQ. Lộ trình các báo đăng như thế nầy.
LoTrinh.gif
 
File giả lập của bạn cho toàn ngày sinh <13 là không tốt dùng để kiểm chứng số liệu
Bạn kiểm theo hình này xem sao:

STTTênNgày sinhNữNgày nghỉ hưu
1Xuânx
2Hạ
3/21/1966​
9/21/2027​
=TuoiHuu(C3,IF(D3="X",FALSE,TRUE))
3Thu
12/6/1965​
x
4Đông
10/30/1966​
4/30/2028​
5Tây
10/24/1964​
10/24/2025​
6Nam
10/18/1963​
7/18/2024​
7Bắc
8/7/1974​
x

PHP:
Function TuoiHuu(Dat As Date, Optional Nam As Boolean = True) As Date
 Dim ThemThang As Integer, NamH As Integer
 
 If Nam Then
    TuoiHuu = DateSerial(Year(Dat) + 60, Month(Dat), Day(Dat))
    MsgBox TuoiHuu
    NamH = Year(TuoiHuu)
    If NamH >= 2028 Then
        ThemThang = 24
    ElseIf NamH <= 2020 Then
    ElseIf NamH < 2028 And NamH > 2020 Then
        ThemThang = 3 * (NamH - 2020)
'        ThemThang = Choose(Year(TuoiHuu) - 2020, 3, 6, 9, 12, 15, 18, 21, 24)'
    End If
    TuoiHuu = DateSerial(Year(Dat) + 60, ThemThang + Month(Dat), Day(Dat))
 Else
    TuoiHuu = DateSerial(Year(Dat) + 55, Month(Dat), Day(Dat))
    ' . . . . . . .         '
 End If 
End Function
 
Cháu chưa bàn tới việc tính thêm tháng thêm năm, nhưng ngày nghỉ hưu phải là ngày 01/mm/yyyy cho 1 người nào đó.
Ừa, cứ cho là vậy đi! Nhưng nếu ngày sinh là 15/2/1960 & đủ năm công tác thì theo bạn tháng nghỉ hưu sẽ là tháng nào, 2 hay 3?
 
Dùng hàm Edate cộng 720 (60*12) tháng vào ngày sinh -> ngày sinh nhật 60 (SN60). Dùng hàm Year lấy NĂM của ngày ấy. Làm con tính NĂM - 2020
Ngày nghỉ hưu = Edate( SN60, 3 * MIN((Year(SN60)-2020), 2))
= Edate( Edate(NgaySinh, 720), 3 * MIN((Year(Edate(NgaySinh, 720))-2020), 2))
Nữ tương tự vậy
Tôi biết đến vậy thôi, làm cách nào cho gọn thì tôi chưa biết.
Đương nhiên là con toán sẽ đưa đến bất công là người sinh 01/01 sẽ bị xa 3 tháng đối với 31/12. Nhưng nếu không có chỉ dẫn cách tính theo tỷ lệ thì phải ráng chịu.

Chú: Thớt cho cái thí dụ ngày nghỉ hưu là đầu tháng cho nên khá khó hiểu

Bổ sung:
Công thức trên không hoàn toàn đúng.
Sau khi đọc bài #16 thì tôi nhận ra công thức đã chủ quan ở chỗ giới hạn số năm là 2. Vì mõi mức tăng là 3 tháng nên phải tính rằng 2 năm là 8 lượt tăng.
Công thức trên phải sửa là:
Ngày nghỉ hưu = Edate( SN60, 3 * MIN((Year(SN60)-2020), 8))
= Edate( Edate(NgaySinh, 720), 3 * MIN((Year(Edate(NgaySinh, 720))-2020), 8))
(xem bài #17)
 
Lần chỉnh sửa cuối:
Theo vậy thì người đó sẽ nghỉ hưu vào tháng 3.
Tinh thần của Bộ Luật LĐ mà nói là phải giải quyết ưu tiên theo quyền lợi của người LĐ
Nhưng khổ nổi ở đây không ít người muốn nghỉ sớm & cũng không ít người muốn nghỉ trễ dù là nữa tháng!
 
Tinh thần của Bộ Luật LĐ mà nói là phải giải quyết ưu tiên theo quyền lợi của người LĐ
Nhưng khổ nổi ở đây không ít người muốn nghỉ sớm & cũng không ít người muốn nghỉ trễ dù là nữa tháng!
Trước đây cháu từng làm công tác BHXH, thì tháng mà người nghỉ hưu bắt đầu từ tháng kế tiếp so với tháng sinh của người đó. Không cần biết người đó sinh đầu tháng hay cuối tháng. Còn nay cháu không làm nữa, không cập nhật thông tin.
 
Trước đây cháu từng làm công tác BHXH, thì tháng mà người nghỉ hưu bắt đầu từ tháng kế tiếp so với tháng sinh của người đó. Không cần biết người đó sinh đầu tháng hay cuối tháng. Còn nay cháu không làm nữa, không cập nhật thông tin.
Vì vậy, lúc tính "ngày hưu" thì người ta chỉ tính đúng vào ngày sinh. Lúc thực sự làm giấy tờ thì người tính chỉ việc nhìn vào "ngày hưu" và tự hiểu là đầu tháng nào.
 
Còn CQ mình thì cho nghỉ trước 3 tháng nguyên lương ( Không sản phẩm), nên CQ tính sao cũng phải chấp nhận,
Như sinh vào tháng 7 thì bắt đầu tháng 5 thì cho nghỉ (chờ hưu); Chuyên còn lại giao cho P. TCHC & BHXH quận huyện lo
 
Dùng hàm Edate cộng 720 (60*12) tháng vào ngày sinh -> ngày sinh nhật 60 (SN60). Dùng hàm Year lấy NĂM của ngày ấy. Làm con tính NĂM - 2020
Ngày nghỉ hưu = Edate( SN60, 3 * MIN((Year(SN60)-2020), 2))
= Edate( Edate(NgaySinh, 720), 3 * MIN((Year(Edate(NgaySinh, 720))-2020), 2))
Cũng không quá đơn giản thư thế đâu bạc ạ. Có chút lắt léo trong tính toán.

Với ngày sinh = 1966-03-02 (giá trị của tác giả) thì hàm của bác trả về 2026-09-02.

Muốn nghỉ hưu vào năm 2026 thì phải có đủ 61 tuổi và 6 tháng. Mà vào ngày 2026-09-02 thì anh A mới chỉ có 60 tuổi và 6 tháng.

nghihuu.JPG

Nếu tôi hiểu lộ trình thì kết quả nhập tay của chủ thớt cũng sai. Theo tôi anh A nghỉ hưu ngày 2027-12-02. Vào ngày này anh A đã có 61 tuổi và 9 tháng. Mà theo lộ trình thì muốn nghỉ hưu vào năm 2027 thì phải đủ 61 tuổi và 9 tháng. Vậy anh A có thể nghỉ hưu vào ngày 2027-12-02.
 
Cũng không quá đơn giản thư thế đâu bạc ạ. Có chút lắt léo trong tính toán.

Với ngày sinh = 1966-03-02 (giá trị của tác giả) thì hàm của bác trả về 2026-09-02.

Muốn nghỉ hưu vào năm 2026 thì phải có đủ 61 tuổi và 6 tháng. Mà vào ngày 2026-09-02 thì anh A mới chỉ có 60 tuổi và 6 tháng.
...
Quả là tôi có tính sai cái hàm MIN. Hàm này đặt như thế thì tối đa là 6 tháng.

Đúng ra số tháng phải là: 3 * MIN((Year(Edate(NgaySinh, 720))-2020), 8)
Hoặc là: MIN(3*(Year(Edate(NgaySinh, 720))-2020), 24)
Tối đa là 3*8 = 24 tháng = 2 năm.

Với cách sửa này thì người sinh 1966-03-02 phải cộng tất cả là 720 + 18 tháng để ra ngày nghỉ hưu.

Chú thêm: lại chủ quan lần nữa, nếu còn người 60 mà chưa hưu thì phải cộng thêm hàm MAX để đề phòng trường hợp hưu trước năm 2020.
 
Lần chỉnh sửa cuối:
Quả là tôi có tính sai cái hàm MIN. Hàm này đặt như thế thì tối đa là 6 tháng.

Đúng ra số tháng phải là: 3 * MIN((Year(Edate(NgaySinh, 720))-2020), 8)
Hoặc là: MIN(3*(Year(Edate(NgaySinh, 720))-2020), 24)
Tối đa là 3*8 = 24 tháng = 2 năm.
Vẫn chưa đúng bác ơi.

nghihuu1.JPG

Muốn nghỉ hưu vào năm 2027 thì phải có đủ 61 năm và 9 tháng. Mà vào ngày 2027-09-02 thì anh A mới có 61 năm và 6 tháng.

Mà nhìn vào công thức của bác thì tôi thấy bác vẫn chưa tính đến cái "lắt léo" mà tôi nói. :D
 
Vẫn chưa đúng bác ơi.
...

Muốn nghỉ hưu vào năm 2027 thì phải có đủ 61 năm và 9 tháng. Mà vào ngày 2027-09-02 thì anh A mới có 61 năm và 6 tháng.

Mà nhìn vào công thức của bác thì tôi thấy bác vẫn chưa tính đến cái "lắt léo" mà tôi nói. :D
Toi sơ xuất lần nữa là vì tôi nghĩ đơn giản theo kiểu "sinh nhật 60, 61, 62, ... vào năm 202X thì cộng thêm N quý". Đây là kiểu đơn giản thường dùng.
Nhưng có lẽ nhà nước lại khoái tính theo kiểu "lắc léo".

Vậy thì chắc phải thêm một điều kiện bị chạy quá năm.

Tôi đang nghiên cứu lô gic dùng phương pháp tính ngược.
Cộng 744 tháng vào ngày sinh và trừ ngược lại.

Bổ sung:
Hiện tại thì tôi nghĩ cách dễ nhất có lẽ là dựng một bảng tra ngày sinh và số tháng áp dụng. VlookUp là xong.
 
Lần chỉnh sửa cuối:
Theo cháu thì người đó sẽ nghỉ hưu vào tháng 3.
Chau.gif
Bài đã được tự động gộp:

Cũng không quá đơn giản thư thế đâu bạc ạ. Có chút lắt léo trong tính toán.

Với ngày sinh = 1966-03-02 (giá trị của tác giả) thì hàm của bác trả về 2026-09-02.

Muốn nghỉ hưu vào năm 2026 thì phải có đủ 61 tuổi và 6 tháng. Mà vào ngày 2026-09-02 thì anh A mới chỉ có 60 tuổi và 6 tháng.

View attachment 229796

Nếu tôi hiểu lộ trình thì kết quả nhập tay của chủ thớt cũng sai. Theo tôi anh A nghỉ hưu ngày 2027-12-02. Vào ngày này anh A đã có 61 tuổi và 9 tháng. Mà theo lộ trình thì muốn nghỉ hưu vào năm 2027 thì phải đủ 61 tuổi và 9 tháng. Vậy anh A có thể nghỉ hưu vào ngày 2027-12-02.
2027.gif
 
Lần chỉnh sửa cuối:
Cám ơn sự quan tâm của gia đình GPE.
Trong khi chờ sự giúp đỡ của gia đình, chúng tôi đã tự mò theo file đính kèm. Xin gia đình cho ý kiến.http://www.mediafire.com/file/2sd4qovf5epz9pq/DS_091219.xlsx/file

Bạn nào thử kiểm lại xem cách tính nào đang sai vậy & xin cảm ơn!

STTHọ và tênNgày sinhNữNgày nghỉ hưu UDF
1Xuân
12/15/1960​
x
1/1/2016​
2Hạ
9/13/1961​
4/1/2022​
12/13/2021​
3Thu
6/19/1962​
4/1/2023​
12/19/2022​
4Đông
3/21/1963​
4/1/2024​
12/21/2023​
5Tây
12/31/1963​
4/1/2025​
10/1/2024​
6Nam
9/20/1964​
4/1/2026​
9/20/2025​
7Bắc
6/18/1965​
4/1/2027​
9/18/2026​
8GPE
3/17/1966​
4/1/2028​
9/17/2027​
9GPE.COM
12/14/1966​
1/1/2029​
6/14/2028​
10???
9/13/1967​
10/1/2029​
6/13/2029​
 
Làm tròn thế rất lạ với tôi. Ở Ba Lan người ta tính đến tận ngày. Khi tôi về hưu thì giữa tháng tôi ra BH làm giấy tờ (thực ra là ra trước 1 tuần. Ngày sinh là giữa tháng). Và nửa tháng cho đến cuối tháng tôi được người ta trả nửa tháng lương hưu.

Tức theo cách tính tôi quen thì nếu ngày sinh là 15/02/1960 thì ngày về hưu là 15/02/2020. Không có chuyện tính lương hưu cho tôi bắt đầu từ 01/03. Vì thế thì lương hưu nửa cuối tháng 2 của tôi đâu? Nửa tháng 2 tôi vẫn phải nhịn đói à?

Cứ đến đủ ngày tháng năm là tôi nghỉ việc, và bắt đầu ăn lương do BH trả. Làm gì có chuyện cuỗm nửa tháng lương của tôi.
 
Thời điểm nghỉ hưu
ThoiDiem.gif
Bài đã được tự động gộp:

Dùng hàm Edate cộng 720 (60*12) tháng vào ngày sinh -> ngày sinh nhật 60 (SN60). Dùng hàm Year lấy NĂM của ngày ấy. Làm con tính NĂM - 2020
Ngày nghỉ hưu = Edate( SN60, 3 * MIN((Year(SN60)-2020), 2))
= Edate( Edate(NgaySinh, 720), 3 * MIN((Year(Edate(NgaySinh, 720))-2020), 2))
Nữ tương tự vậy
Tôi biết đến vậy thôi, làm cách nào cho gọn thì tôi chưa biết.
Đương nhiên là con toán sẽ đưa đến bất công là người sinh 01/01 sẽ bị xa 3 tháng đối với 31/12. Nhưng nếu không có chỉ dẫn cách tính theo tỷ lệ thì phải ráng chịu.

Chú: Thớt cho cái thí dụ ngày nghỉ hưu là đầu tháng cho nên khá khó hiểu

Bổ sung:
Công thức trên không hoàn toàn đúng.
Sau khi đọc bài #16 thì tôi nhận ra công thức đã chủ quan ở chỗ giới hạn số năm là 2. Vì mõi mức tăng là 3 tháng nên phải tính rằng 2 năm là 8 lượt tăng.
Công thức trên phải sửa là:
Ngày nghỉ hưu = Edate( SN60, 3 * MIN((Year(SN60)-2020), 8))
= Edate( Edate(NgaySinh, 720), 3 * MIN((Year(Edate(NgaySinh, 720))-2020), 8))
(xem bài #17)
Đơn giản như đang giỡn.
 
PHP:
Function TuoiHuu(Dat As Date, Optional Nam As Boolean = True) As Date
Dim ThemThang As Integer, NamH As Integer

If Nam Then
    TuoiHuu = DateSerial(Year(Dat) + 60, Month(Dat), Day(Dat))
    MsgBox TuoiHuu
    NamH = Year(TuoiHuu)
    If NamH >= 2028 Then
        ThemThang = 24
    ElseIf NamH <= 2020 Then
    ElseIf NamH < 2028 And NamH > 2020 Then
        ThemThang = 3 * (NamH - 2020)
'        ThemThang = Choose(Year(TuoiHuu) - 2020, 3, 6, 9, 12, 15, 18, 21, 24)'
    End If
    TuoiHuu = DateSerial(Year(Dat) + 60, ThemThang + Month(Dat), Day(Dat))
Else
    TuoiHuu = DateSerial(Year(Dat) + 55, Month(Dat), Day(Dat))
    ' . . . . . . .         '
End If
End Function
Công thức trả về nhiều ngày rất vô lý.

Vd. ngày sinh Nam là 02/10/1961. Hàm trả về ngày nghỉ hưu là 02/01/2022.

Vào ngày 02/01/2022 anh A mới có 60 năm và 3 tháng. Mà muốn nghỉ hưu vào năm 2022 thì theo lộ trình phải có 60 năm và 6 tháng. Tức anh A chưa thể nghỉ hưu được. Còn phải cầy thêm 3 tháng nữa. :D
--------------------------
@Chủ thớt:
2 ví dụ trong thông tư cũng không chỉ rõ cách tính. Vì 2 vd. đó cho thời chưa tăng tuổi nghỉ hưu. Chính những cái cộng 3, 6, ..., 24 hay 4, 8, ..., 60 tháng mới lắt léo.

Anh A sinh ngày 1961-09-30 thì được hưởng chế độ 60 năm + 3 tháng và nghỉ hưu vào năm 2021. Anh B sinh ngày 1961-10-30 thì không được hưởng chế độ 60 năm + 3 tháng vì trong ngày cuối cùng của năm 2021 B vẫn chưa đủ 60 năm + 3 tháng. Vậy B bắt buộc phải nghỉ hưu trong năm 2022, tức hưởng chế độ 60 năm + 6 tháng. A và B chênh nhau 1 tháng, thậm chí có thể 1 ngày và B phải cầy thêm 3 tháng.

-------------------------------
Công thức của tôi.

Vì không rõ cách tính cần phải có nên tôi nêu rõ cách tính mà tôi đề ra. Nếu cách tính đó không theo đúng "cách tính của thông tư gì đó" thì dĩ nhiên là công thức phải bỏ qua. Tôi viết hàm cho cách tính cụ thể. Nếu cách tính phải khác thì tất nhiên công thức phải bỏ qua.

Cách tính: Tính kết quả bình thường, chính xác tới ngày và tháng sinh. Sau đó tháng và ngày của kết quả "làm tròn" bằng ngày 01 của tháng tiếp theo.

1. Tính theo kiểu của tôi, tức giữ đúng tháng sinh.
Mã:
=IF(D2="",IF(YEAR(C2)<1961,EDATE(C2,60*12),INDEX(EDATE(C2,60*12+(ROW($1:$9)-1)*3),MATCH(TRUE,LOOKUP(YEAR(EDATE(C2,60*12+(ROW($1:$9)-1)*3)),2019+ROW($1:$9),(ROW($1:$9)-1)*3)=(ROW($1:$9)-1)*3,0))),IF(YEAR(C2)<1966,EDATE(C2,55*12),INDEX(EDATE(C2,55*12+(ROW($1:$16)-1)*4),MATCH(TRUE,LOOKUP(YEAR(EDATE(C2,55*12+(ROW($1:$16)-1)*4)),2019+ROW($1:$16),(ROW($1:$16)-1)*4)=(ROW($1:$16)-1)*4,0))))

2. Tính theo kiểu của bạn, tức luôn là ngày đầu tháng kế tiếp.
Mã:
=EOMONTH(IF(D2="",IF(YEAR(C2)<1961,EDATE(C2,60*12),INDEX(EDATE(C2,60*12+(ROW($1:$9)-1)*3),MATCH(TRUE,LOOKUP(YEAR(EDATE(C2,60*12+(ROW($1:$9)-1)*3)),2019+ROW($1:$9),(ROW($1:$9)-1)*3)=(ROW($1:$9)-1)*3,0))),IF(YEAR(C2)<1966,EDATE(C2,55*12),INDEX(EDATE(C2,55*12+(ROW($1:$16)-1)*4),MATCH(TRUE,LOOKUP(YEAR(EDATE(C2,55*12+(ROW($1:$16)-1)*4)),2019+ROW($1:$16),(ROW($1:$16)-1)*4)=(ROW($1:$16)-1)*4,0)))),0)+1

Công thức ở phần này có được bằng cách thay <công thức của tôi> trong công thức
Mã:
=EOMONTH(<công thức của tôi>,0)+1
bằng công thức ở phần 1.

Cả 2 công thức ở 2 phần đều kết thúc bằng Ctrl + Shift + Enter.
 
...@Chủ thớt:
2 ví dụ trong thông tư cũng không chỉ rõ cách tính. Vì 2 vd. đó cho thời chưa tăng tuổi nghỉ hưu. Chính những cái cộng 3, 6, ..., 24 hay 4, 8, ..., 60 tháng mới lắt léo.
...
Bài này khó hiểu bỏ bố mà thớt có thái độ như chấm thi, chỉ muốn nói Đúng/Sai chứ không chịu giải thích kỹ.
Tôi đầu hàng ở đây. Tránh voi chẳng xấu mặt nào. Nhường cho bác có đạn đum đum thì cứ săn voi.

Chú: tôi đang lập bảng dò 9 mốc ngày sinh, nếu dùng Match(ngày sinh, bảng dò, 1) và nhân 3 thì sẽ ra số tháng cần cộng vào.
Nhưng kiểu tin tức lấp lửng này tôi không muốn test nữa. Bỏ cuộc.
 
Bài này khó hiểu bỏ bố mà thớt có thái độ như chấm thi, chỉ muốn nói Đúng/Sai chứ không chịu giải thích kỹ.
Tôi đầu hàng ở đây. Tránh voi chẳng xấu mặt nào. Nhường cho bác có đạn đum đum thì cứ săn voi.

Chú: tôi đang lập bảng dò 9 mốc ngày sinh, nếu dùng Match(ngày sinh, bảng dò, 1) và nhân 3 thì sẽ ra số tháng cần cộng vào.
Nhưng kiểu tin tức lấp lửng này tôi không muốn test nữa. Bỏ cuộc.
Khôn hết phần của người khác. Miếng nạc thì gắp trước, còn miếng xương thì nhường người khác. :D

Thì thớt tung cái thông tư cũ cho tình hình mới nên tôi cũng chả biết cách tính thế nào. Do vậy tôi nói rõ là công thức của tôi đúng cho cách tính nào.

Nếu thớt đã tung cái thông tư cũ và tô mầu đỏ chỗ trọng điểm thì ta bám vào chỗ trọng điểm nhé.
1. Thời điểm đủ điều kiện về tuổi đời hưởng lương hưu là ngày 01 tháng liền kề sau tháng sinh của năm ...
1. Do thông tư cũ chỉ dẫn khi số năm làm việc chỉ có 1 và là 60 nên đỏ đỏ luôn thỏa mãn.
Bây giờ số năm làm việc có 9 trường hợp. Trong 8 trường hợp thì không bao giờ có đỏ đỏ. Vd. sinh ngày 15/09/1961 thì ngày nghỉ hưu là 01/04/2022 (chế độ 60 năm 6 tháng). Có thể theo cách tính của chủ thớt thì là 01/05/2022. Rõ ràng tháng 4 và tháng 5 đều không là tháng liền kề sau tháng sinh (là tháng 9).

2. Với thông tư cũ cho 1 chế độ làm việc 60 năm thì có thể hiểu là có tận 2 cách tính và cả 2 cho kết quả như nhau. Vd. ngày sinh 15/09/1961. Tính hưu cho nghỉ hưu cũ là 60 năm:
Cách 1. Tính bình thường cho ngày sinh 15/09, sau đó kết quả làm tròn thành 01 tháng liền kề sau tháng sinh: 15/09/1961 + 60 năm = 15/09/2021 -> làm tròn thành 01/10/2021.

Cách 2. Trước khi + 60 năm thì làm tròn thành 01 tháng liền kề sau tháng sinh, và kết quả không làm tròn nữa: 15/09/1961 -> làm tròn thành 01/10/1961 -> + 60 năm = 01/10/2021.

Kết quả 2 cách là như nhau.

Bây giờ ta xét tình hình mới với nhiều chế độ nghỉ hưu.

Cách 1.Tính bình thường ta có ngày nghỉ hưu là 15/12/2021 (đủ 60 năm 3 tháng). Làm tròn thành 01/01/2022.

Cách 2. Làm tròn trước khi tính chế độ thì có điểm xuất phát là 01/10/1961. Rõ ràng không thể có chế độ 60 năm 3 tháng được vì ngày nghỉ hưu bắt buộc phải rơi vào năm 2022 (ở ngày cuối của 2021 thì chưa đủ 60 năm 3 tháng). Mà nghỉ hưu trong năm 2022 lại phải có đủ 60 năm 6 tháng nên ngày nghỉ hưu sớm nhất là 01/04/2022.

Rõ ràng bây giờ 2 cách tính cho 2 kết quả khác nhau: 01/01/2022 <> 01/04/2022

Như vậy đừng mang thông tư cũ ra để giải thích cho trường hợp mới. Tình hình mới có những + 3, 6, ..., 24 tháng nên nếu không hướng dẫn cách tính (cách 1 hoặc cách 2) thì vẫn không thể biết tính như thế nào. Tình hình cũ không có +3, 4, ..., 24 nên với 2 cách tính thì kết quả luôn như nhau. Cho dù hiểu thông tư theo cách nào, vì thông tư không nói rõ cách tính mà chỉ nói về kết quả, thì kết quả vẫn là 1 nên "người ta" (thông tư) không giải thích cặn kẽ. Bây giờ tình hình mới mà anh A hiểu theo cách tính 1 còn anh B hiểu theo cách tính 2 thì A và B có thể có 2 kết quả khác nhau.

Cái lắt léo ở đây là chỉ cần chênh nhau 1 ngày là anh A và B có thể rơi vào 2 chế độ nghỉ khác nhau - (60 năm + x) và (60 năm + x + 3). Tình hình cũ không có lắt léo vì chỉ có 1 chế độ - chế độ 60 năm.

Theo tôi trong tình hình mới phải có thông tư mới chỉ rõ cách tính. Không thể mập mờ được.[/quote]
 
Lần chỉnh sửa cuối:
...Theo tôi trong tình hình mới phải có thông tư mới chỉ rõ cách tính. Không thể mập mờ được.
Đây mới là chân lý.
Bạn nào làm trong Nhân Sự cho biết đã có thông tư chỉ dẫn này hay chưa?
Thông tư chỉ dẫn thì thường có công thức (toán) và/hoặc bảng tra - như bảng lô-ga-rít, kê thước vào mà đọc.

(khổ một điều là bạn cùng lứa tôi họ hưu ráo hết rồi cho nên chả còn ai để hỏi)

Chú: tôi giữ lời hứa, chạy thớt này rồi. Nhưng tôi cần tin tức cho thớt sau:
 
Thông tư chỉ dẫn thì thường có công thức (toán) và/hoặc bảng tra - như bảng lô-ga-rít, kê thước vào mà đọc.
Chính xác. Nó phải như thế. Nhưng "cán bộ" phụ trách soan thảo cái này thì chưa chắc đã làm việc tốt. Vì thế nhiều tài liệu của Bộ bất kỳ có rất nhiều lỗi do "cán bộ" làm việc tắc trách.
 
Chính xác. Nó phải như thế. Nhưng "cán bộ" phụ trách soan thảo cái này thì chưa chắc đã làm việc tốt. Vì thế nhiều tài liệu của Bộ bất kỳ có rất nhiều lỗi do "cán bộ" làm việc tắc trách.
Xin lỗi bạn, họ không như bạn nói đâu; Họ khôn lắm đó, nhưng đó là khôn lõi cho bản thân mình, cho ngành mình & Bộ của mình.
Muốn thấy cái này cần có kính chiếu iêu. Nhưng cái kính chiếu đó nó nằm đâu đó trong CNCS cơ!

Mình lấy ví dụ nha:
Có văn bản rằng thịt lơn giết mổ sau 8 tiếng sẽ phải chế biến (nấu)

Vậy anh mới mua ở chợ vài Kg thịt để về làm cổ trong dòng họ thì anh làm sao chứng minh với Thue61 vụ là thịt này mới giết mới < 8 tiếng
Mà đã không chứng minh được thì bị tịch biên thôi!
(Cũng may là dự án ăn cướp này đã không được kí ban hành thời đó!)
 
Lần chỉnh sửa cuối:
Chính xác. Nó phải như thế. Nhưng "cán bộ" phụ trách soan thảo cái này thì chưa chắc đã làm việc tốt. Vì thế nhiều tài liệu của Bộ bất kỳ có rất nhiều lỗi do "cán bộ" làm việc tắc trách.
Cái này không chỉ riêng Bộ. Công đoàn cũng phải có trách nhiệm.
Những đạo luật mới ra và liên quan đến việc làm thì Công đoàn phải giải thích cho thành viên. Thời buổi công nghệ 4.0 thì tối thiểu trên quép sai của công đoàn phải có bảng tra (kiểu lô-ga-rit). Khá khẩm hơn thì quép sai có bảng tính luôn - gõ ngày sinh, tính ngày hưu.

Mà tính ra thì Bộ cũng hơi ác. Ra cái luật này chỉ trước 14 tháng. Ít nhất người ta phải ra khoảng 36 tháng để công nhân người ta có thời gian thu xếp tương lai của mình. Giả dụ tôi sinh 01/01/61 thì trước đây tôi cứ tin chắc 01/01/21 là ngày hưu của mình, tôi đặt vé đi du lịch (đặt trước thì có thể giá rẻ). Đùng một cái, ngày ấy bị dời thành 01/04/21. Chết tôi.

(*) biết đâu hiện tại người phụ trách mục này trong công đoàn đang đi vòng vòng mấy cái diễn đàn công nghệ xin code/công thức?
 
"Giám đốc thớt" xin có ý kiến:
Một, Xin cảm ơn gia đình GPE đã tích cực, nhiệt tình tham gia đóng góp ý kiến.
Hai, tôi còn dốt Excel thiệt và hỏi thật, mong có hàm để xài liền, còn học thì xem hàm để từ từ học, chứ không mong muốn chỉ nghe giảng lý thuyết.
Ba, có Luật rồi thì còn chờ Nghị định, còn chờ Thông tư, có khi còn phải có công văn nữa... Nhưng sẽ theo kiểu cũ là nghỉ vào ngày 1 của tháng sau ngày đủ năm đủ tháng.
Bốn, Tư duy của vấn đề là nghỉ vào năm 2021 thì phải có 723 tháng tuổi, nghỉ vào năm 2022 thì phải có 726 tháng tuổi...
Năm, Có bạn phát hiện các móc thời gian là đúng ý tôi. Tôi đã mò tìm các móc thời gian và làm thử
https://www.mediafire.com/file/lvr576i24ngxi6i/DS_271219.xlsx/file
Sáu, Chắc chắn là sau nầy sẽ có người hỏi về Tính ngày nghỉ hưu nữa. Mong các bạn có Hàm ngắn gọn đễ hiểu, viết code để trả lời.
Một lần nữa xin cảm ơn và xin kết thúc ở đây.
 
Lần chỉnh sửa cuối:
"Giám đốc thớt" xin có ý kiến:
Một, Xin cảm ơn gia đình GPE đã tích cực, nhiệt tình tham gia đóng góp ý kiến.
Hai, tôi còn dốt Excel thiệt và hỏi thật, mong có hàm để xài liền, còn học thì xem hàm để từ từ học, chứ không mong muốn chỉ nghe giảng lý thuyết.
Ba, có Luật rồi thì còn chờ Nghị định, còn chờ Thông tư, có khi còn phải có công văn nữa... Nhưng sẽ theo kiểu cũ là nghỉ vào ngày 1 của tháng sau ngày đủ năm đủ tháng.
Bốn, Tư duy của vấn đề là nghỉ vào năm 2021 thì phải có 723 tháng tuổi, nghỉ vào năm 2022 thì phải có 726 tháng tuổi...
Năm, Có bạn phát hiện các móc thời gian là đúng ý tôi. Tôi đã mò tìm các móc thời gian và làm thử
http://www.mediafire.com/file/2sd4qovf5epz9pq/DS_091219.xlsx/file
Sáu, Chắc chắn là sau nầy sẽ có người hỏi về Tính ngày nghỉ hưu nữa. Mong các bạn có Hàm ngắn gọn đễ hiểu, viết code để trả lời.
Một lần nữa xin cảm ơn và xin kết thúc ở đây.
Chưa xét đến việc tính toán gì cả để áp dụng theo quy định mới về ngày nghỉ hưu, tôi thấy:
Nếu bạn tạo các mốc hưu cho Nam và Nữ như hình dưới đây, thì công thức của bạn có sẵn trong file có thể viết gọn là:
Mã:
E4=EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(MATCH(C4,INDEX(MocHuu!$A$2:$B$16,,1+(D4="x"))),)*(3+(D4="x")))
Chỉ Enter, fill xuống.

MocHuu.png

Thân
 

File đính kèm

Chưa xét đến việc tính toán gì cả để áp dụng theo quy định mới về ngày nghỉ hưu, tôi thấy:
Nếu bạn tạo các mốc hưu cho Nam và Nữ như hình dưới đây, thì công thức của bạn có sẵn trong file có thể viết gọn là:
Mã:
E4=EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(MATCH(C4,INDEX(MocHuu!$A$2:$B$16,,1+(D4="x"))),)*(3+(D4="x")))
Chỉ Enter, fill xuống.

View attachment 229868

Thân
Tôi thích hàm ngắn gọn của bạn. Bạn giữ đó vì còn có người hỏi nữa.
Tôi đã tốn nhiều thời gian để mò tìm móc thời gian. Rồi viết rất nhiều IF rất vất vả. Xin học hàm ngắn gọn của bạn.
 
Chưa xét đến việc tính toán gì cả để áp dụng theo quy định mới về ngày nghỉ hưu, tôi thấy:
Nếu bạn tạo các mốc hưu cho Nam và Nữ như hình dưới đây, thì công thức của bạn có sẵn trong file có thể viết gọn là:
Mã:
E4=EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(MATCH(C4,INDEX(MocHuu!$A$2:$B$16,,1+(D4="x"))),)*(3+(D4="x")))
Chỉ Enter, fill xuống.

View attachment 229868

Thân
Lâu rồi mới thấy bạn lên diễn đàn, chúc bạn mọi sự như ý /-*+//-*+//-*+/
Tôi thích hàm ngắn gọn của bạn. Bạn giữ đó vì còn có người hỏi nữa.
Tôi đã tốn nhiều thời gian để mò tìm móc thời gian. Rồi viết rất nhiều IF rất vất vả. Xin học hàm ngắn gọn của bạn.
Dùng công thức của bạn @Phan Thế Hiệp chỉnh lại và không dùng bảng phụ mốc thời gian
Mã:
=EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(IF(D4="x",MIN(INT(DATEDIF(23833,C4,"m")/8)*4,60),MIN(INT(DATEDIF(21976,C4,"m")/9)*3,24)),0))
 

File đính kèm

Lâu rồi mới thấy bạn lên diễn đàn, chúc bạn mọi sự như ý /-*+//-*+//-*+/

Dùng công thức của bạn @Phan Thế Hiệp chỉnh lại và không dùng bảng phụ mốc thời gian
Mã:
=EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(IF(D4="x",MIN(INT(DATEDIF(23833,C4,"m")/8)*4,60),MIN(INT(DATEDIF(21976,C4,"m")/9)*3,24)),0))
Muốn vô chơi đùa với anh em lắm lắm, nhưng... như anh biết rồi đó, đành lực bất tòng tâm.

Chúc anh và toàn thể anh em GPE luôn mạnh khỏe, luôn bình an.

Chúc anh ngày vui.
/-*+//-*+//-*+/
 

File đính kèm

Lâu rồi mới thấy bạn lên diễn đàn, chúc bạn mọi sự như ý /-*+//-*+//-*+/

Dùng công thức của bạn @Phan Thế Hiệp chỉnh lại và không dùng bảng phụ mốc thời gian
Mã:
=EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(IF(D4="x",MIN(INT(DATEDIF(23833,C4,"m")/8)*4,60),MIN(INT(DATEDIF(21976,C4,"m")/9)*3,24)),0))
Chưa đúng bạn ơi, sao sinh ngày 03/02/1966 lại đủ 62 tuổi, đúng ra là 61 tuổi 9 tháng mới đúng chứ
 
Tôi đã tổng hợp lại, các bác xem cho ý kiến lần cuối với.
Ý của bạn là công thức của bạn đúng chưa à?
1597632215417.png
Ngay dòng đầu tiên cô Xuân sinh năm 1964. Hiện tại cô ấy quá 55 tuổi. Đã đến tuổi về hưu mà bạn bắt làm đến 2025 chắc cô ấy không chịu đâu
 
File giả lập của bạn cho toàn ngày sinh <13 là không tốt dùng để kiểm chứng số liệu
Bạn kiểm theo hình này xem sao:

STTTênNgày sinhNữNgày nghỉ hưu
1Xuânx
2Hạ
3/21/1966​
9/21/2027​
=TuoiHuu(C3,IF(D3="X",FALSE,TRUE))
3Thu
12/6/1965​
x
4Đông
10/30/1966​
4/30/2028​
5Tây
10/24/1964​
10/24/2025​
6Nam
10/18/1963​
7/18/2024​
7Bắc
8/7/1974​
x

PHP:
Function TuoiHuu(Dat As Date, Optional Nam As Boolean = True) As Date
Dim ThemThang As Integer, NamH As Integer

If Nam Then
    TuoiHuu = DateSerial(Year(Dat) + 60, Month(Dat), Day(Dat))
    MsgBox TuoiHuu
    NamH = Year(TuoiHuu)
    If NamH >= 2028 Then
        ThemThang = 24
    ElseIf NamH <= 2020 Then
    ElseIf NamH < 2028 And NamH > 2020 Then
        ThemThang = 3 * (NamH - 2020)
'        ThemThang = Choose(Year(TuoiHuu) - 2020, 3, 6, 9, 12, 15, 18, 21, 24)'
    End If
    TuoiHuu = DateSerial(Year(Dat) + 60, ThemThang + Month(Dat), Day(Dat))
Else
    TuoiHuu = DateSerial(Year(Dat) + 55, Month(Dat), Day(Dat))
    ' . . . . . . .         '
End If
End Function
Sao kết quả nhiều lúc ra ko chính xác nhỉ
 
làm sao để tính được ngày nào nghỉ hưu?
ngày tháng nào nghỉ đây?
STTTÊNngày sinhnữngày nghỉ hưu
1​
Nhật15/02/1964
2​
Hương17/08/1971x
 
Lần chỉnh sửa cuối:
Lâu rồi mới thấy bạn lên diễn đàn, chúc bạn mọi sự như ý /-*+//-*+//-*+/

Dùng công thức của bạn @Phan Thế Hiệp chỉnh lại và không dùng bảng phụ mốc thời gian
Mã:
=EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(IF(D4="x",MIN(INT(DATEDIF(23833,C4,"m")/8)*4,60),MIN(INT(DATEDIF(21976,C4,"m")/9)*3,24)),0))
Mình ko rành excel lắm nhưng cũng đang quan tâm đến vấn đề này nên có làm thử theo 2 công thức của bạn Phan Thế Hiệp và bạn HieuCD nên có góp ý như sau:
- theo Phan Thế Hiển thì cần sửa lại ngày trong bản tham chiếu là cuối tháng thì sẽ đúng theo NĐ135. Ví dụ: nữ, sinh 2/4/1969, nếu theo bảng tham chiếu để ngày 01/04/1969 thì kết quả là 01/05/2026, nếu bảng tham chiếu để 30/04/1969 thì kết quả là 01/01/2026, cái này đúng theo NĐ135.
- theo công thức của bạn HieuCD thì kết quả ra 01/05/2026 là chưa đúng.
Mình đóng góp ý kiến có gì ko đúng thì 2 bạn góp ý nhé, vì mình cũng ko ranh excel lắm. Trân trọng cảm ơn, thân chào.
 
Mình ko rành excel lắm nhưng cũng đang quan tâm đến vấn đề này nên có làm thử theo 2 công thức của bạn Phan Thế Hiệp và bạn HieuCD nên có góp ý như sau:
- theo Phan Thế Hiển thì cần sửa lại ngày trong bản tham chiếu là cuối tháng thì sẽ đúng theo NĐ135. Ví dụ: nữ, sinh 2/4/1969, nếu theo bảng tham chiếu để ngày 01/04/1969 thì kết quả là 01/05/2026, nếu bảng tham chiếu để 30/04/1969 thì kết quả là 01/01/2026, cái này đúng theo NĐ135.
- theo công thức của bạn HieuCD thì kết quả ra 01/05/2026 là chưa đúng.
Mình đóng góp ý kiến có gì ko đúng thì 2 bạn góp ý nhé, vì mình cũng ko ranh excel lắm. Trân trọng cảm ơn, thân chào.
Tính cách nào ra được ngày 01/01/2026 ?
 
Phụ lục 01 Nghị định 135/2020 nó quy định sẵn như vậy đó bạn.
Công thức tính theo qui định trong nghị định 135/2020

Lao động namLao động nữ
Năm nghỉ hưuTuổi nghỉ hưuNăm nghỉ hưuTuổi nghỉ hưu
202160 tuổi 3 tháng202155 tuổi 4 tháng
202260 tuổi 6 tháng202255 tuổi 8 tháng
202360 tuổi 9 tháng202356 tuổi
202461 tuổi202456 tuổi 4 tháng
202561 tuổi 3 tháng202556 tuổi 8 tháng
202661 tuổi 6 tháng202657 tuổi
202761 tuổi 9 tháng202757 tuổi 4 tháng
Từ năm 2028 trở đi62 tuổi202857 tuổi 8 tháng
202958 tuổi
203058 tuổi 4 tháng
203158 tuổi 8 tháng
203259 tuổi
203359 tuổi 4 tháng
203459 tuổi 8 tháng
Từ năm 2035 trở đi60 tuổi
Sinh tháng 4/1969 sẽ nghỉ hưu năm 2026 khi đủ 57 tuổi vậy ngày nghỉ hưu là 1/5/2026
Phụ lục có kết quả hơi khác với qui định chính thức trong nghị định, chỉnh công thức tý xíu
Mã:
E4 =EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(IF(D4="x",MIN(INT(DATEDIF(23863,C4,"m")/8)*4,60),MIN(INT(DATEDIF(22007,C4,"m")/9)*3,24)),0))
 

File đính kèm

Mình ko rành excel lắm nhưng cũng đang quan tâm đến vấn đề này nên có làm thử theo 2 công thức của bạn Phan Thế Hiệp và bạn HieuCD nên có góp ý như sau:
- theo Phan Thế Hiển thì cần sửa lại ngày trong bản tham chiếu là cuối tháng thì sẽ đúng theo NĐ135. Ví dụ: nữ, sinh 2/4/1969, nếu theo bảng tham chiếu để ngày 01/04/1969 thì kết quả là 01/05/2026, nếu bảng tham chiếu để 30/04/1969 thì kết quả là 01/01/2026, cái này đúng theo NĐ135.
- theo công thức của bạn HieuCD thì kết quả ra 01/05/2026 là chưa đúng.
Mình đóng góp ý kiến có gì ko đúng thì 2 bạn góp ý nhé, vì mình cũng ko ranh excel lắm. Trân trọng cảm ơn, thân chào.
Bài tôi làm trước đây, dựa trên công thức của bạn @khieukienag chủ yếu chỉ làm gọn lại mà thôi, chưa xem xét đến việc tính toán.
Nay nếu bạn đã tìm được tư liệu (Nghị định 135/2020/NĐ-CP 18/11/2020), thì điều chỉnh bảng "MocHuu" lại cho đúng.

File đính kèm dưới đây tôi đã tổng hợp dựa theo bảng dữ liệu của bạn @khieukienag, cùng:

1/ Phụ Lục 1 theo Nghị định 135/2020/NĐ-CP ban hành ngày 18/11/2020 (Trích nguồn: https://luatvietnam.vn/lao-dong/nghi-dinh-135-2020-nd-cp-quy-dinh-ve-tuoi-nghi-huu-194427-d1.html)

2/ Hai công thức của: anh @HieuCD (không cần dùng bảng phụ) và tôi (tạo bảng phụ theo Phụ Lục).

Cảm ơn sự chia sẻ của bạn và chúc bạn ngày vui

Thân
 

File đính kèm

Công thức tính theo qui định trong nghị định 135/2020

Lao động namLao động nữ
Năm nghỉ hưuTuổi nghỉ hưuNăm nghỉ hưuTuổi nghỉ hưu
202160 tuổi 3 tháng202155 tuổi 4 tháng
202260 tuổi 6 tháng202255 tuổi 8 tháng
202360 tuổi 9 tháng202356 tuổi
202461 tuổi202456 tuổi 4 tháng
202561 tuổi 3 tháng202556 tuổi 8 tháng
202661 tuổi 6 tháng202657 tuổi
202761 tuổi 9 tháng202757 tuổi 4 tháng
Từ năm 2028 trở đi62 tuổi202857 tuổi 8 tháng
202958 tuổi
203058 tuổi 4 tháng
203158 tuổi 8 tháng
203259 tuổi
203359 tuổi 4 tháng
203459 tuổi 8 tháng
Từ năm 2035 trở đi60 tuổi
Sinh tháng 4/1969 sẽ nghỉ hưu năm 2026 khi đủ 57 tuổi vậy ngày nghỉ hưu là 1/5/2026
Phụ lục có kết quả hơi khác với qui định chính thức trong nghị định, chỉnh công thức tý xíu
Mã:
E4 =EDATE(EOMONTH(C4,0)+1,(12-(D4="x"))*60+IFERROR(IF(D4="x",MIN(INT(DATEDIF(23863,C4,"m")/8)*4,60),MIN(INT(DATEDIF(22007,C4,"m")/9)*3,24)),0))
Gửi bạn tham khảo phụ lục I Nghị định 135. Cho mình hỏi tham số 23863 và 22007 chổ hàm Datedif() ý nghĩ như thế nào vậy. Cảm ơn.
 

File đính kèm

Gửi bạn tham khảo phụ lục I Nghị định 135. Cho mình hỏi tham số 23863 và 22007 chổ hàm Datedif() ý nghĩ như thế nào vậy. Cảm ơn.
Bạn để ý phụ lục I, Nữ cứ 8 tháng tăng tuổi hưu lên 4 tháng, và ngày sinh đầu tiên tăng là 1/1/1966 trừ lùi lại 8 tháng là ngày 1/5/1965 = 23863, tương tự cho nam
 

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

Back
Top Bottom