Công thức tính tuổi (1 người xem)

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

hiepsisanco

Thành viên mới
Tham gia
13/11/07
Bài viết
2
Được thích
1
Xin hỏi các bác là có cách nào tính được tuổi của nhân viên từ ngày tháng năm sinh của họ không a ? +-+-+-+
 
hiepsisanco đã viết:
Xin hỏi các bác là có cách nào tính được tuổi của nhân viên từ ngày tháng năm sinh của họ không a ? +-+-+-+
Bạn dùng hàm DATEDIF.
Để tìm hiểu hàm này, bạn Search trên GPE có nhiều bài hướng dẫn.

TDN
 
hiepsisanco đã viết:
Xin hỏi các bác là có cách nào tính được tuổi của nhân viên từ ngày tháng năm sinh của họ không a ? +-+-+-+

Bạn sử dụng hàm year để trích năm sinh và năm hiện tại, ví dụ

Giả định:
+ ô B3 chứa ngày sinh của NV
+ ô C3 là ngày hiện thời (bạn có thể dùng hàm =now() )
+ ô D3 chứa tuổi
thì: tại D3 bạn gõ công thức sau: = Year(C3)-Year(B3)

chú ý: phải định dạng lại cách hiện thị của ô D3 bằng cách: vào Format\ Format cell -> tab number chọn General hoặc Number, để ô hiện đúng số tuổi (ko bình thường có định dạng ngày)


chúc thành công
 
tigertiger đã viết:
Bạn sử dụng hàm year để trích năm sinh và năm hiện tại, ví dụ Giả định:
+ ô B3 chứa ngày sinh của NV
+ ô C3 là ngày hiện thời (bạn có thể dùng hàm =now() )
+ ô D3 chứa tuổi
thì: tại D3 bạn gõ công thức sau: = Year(C3)-Year(B3)

Bạn tính tuổi ta hay tuổi tây vậy?
Đùa chút thôi; nhưng xét 2 trường hợp sau đây thì sai số quá to:
Giả dụ tôi có thằng cháu ngoại sinh 31/12/2003 vậy sang 1 ngày nó đã được 1 tuổi?
Ngược lại, cô bạn hàng xóm sinh thằng cu sau cháu tôi 1 ngày; từ đó đến cuối năm nó chưa có tuổi nào?

Hồi xưa tôi thấy có người dùng công thức sau
=INT((TODAY() -[NgaySinh])/365.25)
Xin các bạn cho í kiến!

-\\/.
 
oh đúng thế, có lẽ dùng hàm Datedif là hợp lý, và tính chính xác đến tuổi, tháng, ngày luôn - (nếu tính chính xác đến đâu thì bỏ các thành phần ko cần đi)

+ ô B3 chứa ngày sinh của NV
+ thì công thức ở ô tính tuổi như sau: =DATEDIF(B3,NOW(),"y")&"tuổi, "&DATEDIF(B3,NOW(),"ym")&"tháng, "&DATEDIF(B3,NOW(),"md")&"ngày"
 
Lần chỉnh sửa cuối:
nhưng cột tuổi phải để định dạng là number đúng ko ạ?
 
nhưng cột tuổi phải để định dạng là number đúng ko ạ?
Không cần thiết đâu bạn, khi nào kết quả không đúng mình mới định dạng thôi!
Có thể định dạng là General là được rồi!
Hàm DATEDIF() công nhận hay thiệt nhưng nếu không sử dụng hàm này thì dùng công thức khác, bạn nào có gởi lên nhé!
Thân chào!
 
Mình cũng góp vui công thức đơn giản, để tặng quà sinh nhật trong Cty.
 

File đính kèm

Nếu dùng code thì code sau:

Mã:
Function TinhTuoi(startdate As Date, EndDate As Date) As String
'?tinhtuoi(#15/06/1977#, #12/09/2009#)
'Ban duoc 32 tuoi 5 thang 24 ngay.
Dim intHold As Integer
Dim dayHold As Integer
   intHold = Int(DateDiff("m", startdate, EndDate)) + _
             (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(startdate)))
   If Day(EndDate) < Day(startdate) Then
      dayHold = DateDiff("d", startdate, DateSerial(Year(startdate), Month(startdate) + 1, 0)) + Day(EndDate)
   Else
      dayHold = Day(EndDate) - Day(startdate)
   End If
   
   TinhTuoi = "Ban duoc " & Int(intHold / 12) & " tuoi " & intHold Mod 12 & " thang " _
             & LTrim(Str(dayHold)) & " ngay."
End Function

Cú pháp: =TinhTuoi(startdate As Date, EndDate As Date)
- startdate As Date: Ngày sinh
- EndDate As Date: Đến ngày muốn tính

Ví dụ: Ngày sinh ở cell A1 là 15/06/1977, tôi muốn tính đến ngày ở cell A2 là 12/09/2009 thì tính như sau.
=TinhTuoi(A1, A2) => kết quả là Ban duoc 32 tuoi 5 thang 24 ngay.

Xem thêm file đính kèm nhé

 

File đính kèm

Nhập ngày tháng năm sinh của 1 người vào ô C4. Khi đó ô D4 thể hiện tuổi của người đó được tính theo công thức sau:
D4=IF(VALUE(MONTH(TODAY())&IF(DAY(TODAY())<10,"0"&DAY(TODAY()),DAY(TODAY())))>=VALUE(MONTH(C4)&IF(DAY(C4)<10,"0"&DAY(C4),DAY(C4))),YEAR(TODAY())-YEAR(C4),YEAR(TODAY())-YEAR(C4)-1)
Cái này em mới nghĩ ra và đã test thử thấy rất chính xác, mong mọi người góp ý thêm!
 
Tính tuổit

=IF(MONTH(TODAY())>MONTH(C2),YEAR(TODAY())-YEAR(C2),IF(MONTH(TODAY())<MONTH(C2),YEAR(TODAY())-YEAR(C2)-1,IF(DAY(TODAY())>=DAY(C2),YEAR(TODAY())-YEAR(C2),YEAR(TODAY())-YEAR(C2)-1)))

Với C2 chứa ngày sinh nhật!
 
Thể loại về tính tuổi thì có nhiều trên diễn đàn GPE bạn ah!
Bạn có thể tham khảo file tôi gửi nhé!
 

File đính kèm

Thể loại về tính tuổi thì có nhiều trên diễn đàn GPE bạn ah!
Bạn có thể tham khảo file tôi gửi nhé!

Cảm ơn bạn đã về công thức rất hữu ích này. Bạn cho mình hỏi nếu trong cùng một danh sách có 1 số người chỉ có năm sinh (không có ngày tháng) thì dùng hàm datedif cho số liệu không đúng? vậy phải làm sao để tính tuổi của họ?
bạn xem file đính kèm nhé!
 

File đính kèm

VD: ngày sinh 30/01/1990. cứ 365 ngày/1 tuổi. vậy làm sao để tính tuổi????
 
VD: ngày sinh 30/01/1990. cứ 365 ngày/1 tuổi. vậy làm sao để tính tuổi????
 
VD: ngày sinh 30/01/1990. cứ 365 ngày/1 tuổi. vậy làm sao để tính tuổi????
Bạn lấy ngày hiện tại trừ đi ngày sinh sau đó chia cho 365, ví dụ :
=(Today()-date(1990,01,30))/365 - còn muốn làm tròn hay gì gì thì kết hợp thêm hàm int(),.... để tính nhé.
 
Bạn lấy ngày hiện tại trừ đi ngày sinh sau đó chia cho 365, ví dụ :
=(Today()-date(1990,01,30))/365 - còn muốn làm tròn hay gì gì thì kết hợp thêm hàm int(),.... để tính nhé.

Nên là Tuổi = (TODAY()-[NgaySinh])/365.25
 
Vì thực tế mỗi năm có 365 ngày và 1/4 ngày (0.25) đó mà nhưng chúng ta cứ làm tròn thành 365. Lý do tại sao 4 năm thì lại nhuận 1 ngày vì 4 lần cái 1/4 ngày kia sẽ gom lại thành 1 ngày.
 
Bạn xem file gửi kèm nhé, Không biết có đúng ý bạn không nhưng mình làm theo file bạn đưa lên.
 

File đính kèm

Chuyện này đã có từ thế kỷ trước, rằng

[Thongbao](1) .25 đằng sau ý nghĩa là gì vậy???
(2) khi nhập nó hiện #VALUE là sao?
[/Thongbao]

(1) Trái đấy quay quanh mặt trời hết 365.25 ngày (chứ không fải 365 ngày như trước đó vẫn tưởng);

(2) Bạn xem lại cách biểu diễn số thập fân trên máy của bạn!
 
[Thongbao](1) .25 đằng sau ý nghĩa là gì vậy???
(2) khi nhập nó hiện #VALUE là sao?
[/Thongbao]

(1) Trái đấy quay quanh mặt trời hết 365.25 ngày (chứ không fải 365 ngày như trước đó vẫn tưởng);

(2) Bạn xem lại cách biểu diễn số thập fân trên máy của bạn!
Mình đã vào Format cell/ Kiểu Number nhưng vẫn vậy. Bạn có cách nào k? chỉ mình zới. thank bạn
 
Công thức tại ô [D3] là vầy:

=IF(TYPE(DAY(C3))=16,(TODAY()-DATE(1*RIGHT(C3,4),1,1*LEFT(C3,2))),(TODAY()-C3))/365.25

(1) Con số 1 màu đó đó bạn fải tự bổ sung thêm, là con số chỉ tháng của chuỗi ngày của ô [NgaySinh];--=0

(2) Bạn tự ngẫm xem tại sao fải xài công thức rối rắm làm vậy! @!##
 
Nên là Tuổi = (TODAY()-[NgaySinh])/365.25

Tính tuổi mà chia cho 365 hay 365.25 đều chưa chính xác vì có năm nhuận tháng hai có 29 ngày sẽ bị sai
Tôi thường tính tuổi theo công thức sau:
=DATEDIF(A1;TODAY();"y") , trong đó A1 là ngày tháng năm sinh
 
Xin fép các bạn ta đi vô chi tiết theo bảng sau:

[Thongbao]Tính tuổi mà chia cho 365 hay 365.25 đều chưa chính xác vì có năm nhuận tháng hai có 29 ngày sẽ bị sai
Tôi thường tính tuổi theo công thức sau:
=DATEDIF(A1;TODAY();"y") , trong đó A1 là ngày tháng năm sinh[/Thongbao]

TT|NgaySinh|NG/365.25|DATEDIF()
1|1/14/2001|12.999|13
2|1/14/1995|19.0007|19
3|1/15/1995|18.998|18
4|1/13/1991|23.003|23

Các bạn tự rút ra kết luận nha;

Chẳng hạn lúc tính tuổi vị thành niên để kêu án;
Lúc cần kết hôn hay số năm công tác của nhân viện theo Bộ Luật LĐ,. . . .

 
Lần chỉnh sửa cuối:

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

Back
Top Bottom