Tính tuổi trong Excel từ ngày sinh

Giải trình

Hàm DATEDIF (Date + Dif) hơi bất thường trong Excel. Hàm tương thích có nguồn gốc từ Lotus 1-2-3, Excel sẽ không cung cấp đối số khi hàm được nhập. Tuy nhiên, DATEDIF hoạt động trong tất cả các phiên bản Excel hiện đại và là một hàm hữu ích để tính khoảng thời gian giữa hai ngày theo năm, tháng và ngày

Trong ví dụ hiển thị, mục tiêu là tính tuổi theo năm. Công thức trong E5 là

=DATEDIF(D5,TODAY(),"y")

Hai đối số đầu tiên cho DATEDIF là start_date và end_date. Ngày bắt đầu đến từ ô D5 (ngày 15 tháng 5 năm 2001) trong ví dụ. Ngày kết thúc được tạo bằng hàm TODAY. TODAY luôn trả về ngày hiện tại trong Excel. Theo văn bản này, ngày hiện tại là ngày 24 tháng 11 năm 2020. Đối số cuối cùng trong DATEDIF chỉ định đơn vị thời gian. Hàm DATEDIF hỗ trợ một số tùy chọn ở đây, nhưng đối với ví dụ này, mục tiêu là tuổi tính theo năm, vì vậy chúng tôi sử dụng "y" để chỉ định năm đầy đủ

Tại thời điểm này, chúng ta có thể viết lại công thức như bên dưới

=DATEDIF("15-May-2001","24-Nov-2020", "y")

Bởi vì ngày Excel thực sự là số sê-ri, các giá trị thô là

=DATEDIF(37026,44159,"y")

Với những đầu vào này, DATEDIF trả về 19 là kết quả cuối cùng

Tuổi vào ngày cụ thể

Để tính tuổi vào một ngày cụ thể, hãy thay thế hàm TODAY bằng ngày mục tiêu. Một cách dễ dàng và an toàn để mã hóa một ngày cụ thể thành một công thức là sử dụng hàm DATE. Ví dụ: để tính tuổi kể từ ngày 1 tháng 1 năm 2021, bạn có thể sử dụng công thức như sau

=DATEDIF(D5,DATE(2022,1,1),"y") // returns 20

Công thức này sẽ trả về tuổi của Michael Chang vào ngày 1 tháng 1 năm 2022, tức là 20

Người lớn hoặc trẻ vị thành niên

Để kiểm tra ngày sinh và trả về "Trẻ vị thành niên" hoặc "Người lớn", bạn có thể ngắt công thức trong hàm IF như sau

=IF(DATEDIF(D5,TODAY(),"y")<18,"Minor","Adult")

Công thức trên là một ví dụ về lồng nhau. Thay thế 18 bằng bất kỳ độ tuổi nào phù hợp

Tuổi theo năm, tháng, ngày

Để tính tuổi theo năm, tháng và ngày, hãy sử dụng ba phiên bản DATEDIF như thế này

=DATEDIF(A1,TODAY(),"y")&"y "&DATEDIF(A1,TODAY(),"ym")&"m "&DATEDIF(A1,TODAY(),"md")&"d"

Phiên bản đầu tiên của DATEDIF trả về năm, phiên bản thứ hai trả về tháng và phiên bản thứ ba trả về ngày. Đây là một ví dụ về nối và kết quả là một chuỗi văn bản như thế này

19y 6m 9d

Lưu ý ngày bắt đầu và ngày kết thúc vẫn giữ nguyên trong cả ba DATEDIF;

NĂMFRAC với INT

Một tùy chọn khác để tính tuổi từ ngày sinh sử dụng hàm YEARFRAC cùng với hàm INT trong một công thức như sau

=INT(YEARFRAC(D5,TODAY()))

YEARFRAC tính toán một số thập phân đại diện cho phân số của một năm giữa hai ngày. Để tính phân số của một năm dưới dạng giá trị thập phân, Excel sử dụng ngày giữa hai ngày. Như trên, ngày sinh được cung cấp dưới dạng start_date từ ô D5 và ngày hôm nay được cung cấp dưới dạng end_date, nhờ hàm TODAY

Với ngày hiện tại là 24 tháng 11 năm 2020, kết quả từ YEARFRAC cho Michael Chang là

________số 8_______

Tiếp theo, hàm INT tiếp nhận và làm tròn số đó thành giá trị nguyên, là số 19

=INT(19.5290896646133) // returns 19

Công thức này có vẻ hoàn toàn hợp lý và nó hoạt động tốt trong hầu hết các trường hợp. Tuy nhiên, YEARFRAC có thể trả về một số không chính xác vào ngày kỷ niệm (sinh nhật). Tôi không chắc chính xác tại sao điều này lại xảy ra, nhưng nó có liên quan đến cách YEARFRAC sử dụng ngày để xác định năm phân số, được kiểm soát bởi đối số cơ sở. Ví dụ

=DATEDIF("15-May-2001","24-Nov-2020", "y")
0

Điểm mấu chốt là công thức DATEDIF ngày là một lựa chọn an toàn và dễ dàng hơn khi mục tiêu là báo cáo tuổi trong cả năm

Nếu bạn có một danh sách ngày sinh của nhân viên trong bảng tính Excel, bây giờ, bạn muốn tính tuổi cho từng người trong số họ. Trong Excel có một số hàm hữu ích như YEARFRAC hay DATEDIF có thể giúp bạn lấy tuổi từ ngày sinh một cách nhanh chóng và dễ dàng

Tính tuổi trong Excel từ ngày sinh


Tính tuổi theo ngày sinh với hàm YEARFRAC

Trong Excel, hàm YEARFRAC có thể giúp bạn lấy tuổi từ ngày sinh đã cho, cú pháp chung là

=YEARFRAC(ngày sinh, HÔM NAY())

  • ngày sinh . ngày sinh nhật.
  • HÔM NAY() . Hàm này trả về ngày hôm nay.

Vì vậy, vui lòng sử dụng công thức dưới đây vào một ô trống

=YEARFRAC(B2,HÔM NAY())

Và sau đó, kéo núm điều khiển điền xuống các ô bạn muốn áp dụng công thức này, tất cả các độ tuổi đã được tính toán và hiển thị dưới dạng số thập phân trong các ô, xem ảnh chụp màn hình

Tính tuổi trong Excel từ ngày sinh

Lời khuyên. Kết quả tính toán là số thập phân bằng cách sử dụng hàm YEARFRAC, để biến số tuổi thành số nguyên, bạn nên kết hợp hàm INT như sau

=INT(YEARFRAC(B2,HÔM NAY()))

Và bạn sẽ nhận được độ tuổi dưới dạng số nguyên

Tính tuổi trong Excel từ ngày sinh


Tính tuổi theo ngày sinh với hàm DATEDIF

Hàm DATEDIF cũng có thể chuyển đổi ngày sinh thành tuổi, cú pháp chung là

=DATEDIF(ngày sinh, HÔM NAY(), "y")

  • ngày sinh . ngày sinh nhật.
  • HÔM NAY() . Hàm này trả về ngày hôm nay.
  • y . Nó trả về số năm hoàn chỉnh kể từ ngày sinh đến ngày hiện tại.

Bây giờ, vui lòng nhập hoặc sao chép công thức sau vào ô trống

=DATEDIF(B2, HÔM NAY(), "y")

Và tất cả các độ tuổi đã được tính dựa trên ngày sinh, xem ảnh chụp màn hình

Tính tuổi trong Excel từ ngày sinh


Tính tuổi theo ngày tháng năm sinh

Nếu bạn muốn lấy tuổi chính xác của người đó, chẳng hạn như bao nhiêu năm, tháng và ngày kể từ ngày sinh của họ đến ngày hiện tại. Bạn nên ghép các hàm DATEIF thành một công thức duy nhất như sau

=DATEDIF(B2,TODAY(),"Y") & " Năm," & DATEDIF(B2,TODAY(),"YM") & " Tháng," & DATEDIF(B2,TODAY(),"MD") &

Và sau đó, bạn sẽ nhận được kết quả như ảnh chụp màn hình sau đây

Tính tuổi trong Excel từ ngày sinh

Lời khuyên. Nếu muốn bỏ qua năm, tháng, ngày 0 khi áp dụng công thức trên, bạn có thể kết hợp hàm IF để kiểm tra các số 0. vui lòng sử dụng công thức này

=IF(DATEDIF(B2, TODAY(),"y")=0,"",DATEDIF(B2, TODAY(),"y")&" Years, ")& IF(DATEDIF(B2, TODAY(),

Và sau đó, bạn sẽ nhận được ảnh chụp màn hình bên dưới khi bạn cần, tất cả các độ tuổi được hiển thị theo năm, tháng và ngày mà không có giá trị 0

Tính tuổi trong Excel từ ngày sinh


Tính tuổi vào ngày cụ thể trong Excel

Đôi khi, bạn muốn lấy tuổi từ ngày sinh thành một ngày cụ thể thay vì ngày hiện tại, trong trường hợp này, bạn chỉ cần thay đổi hàm TODAY() trong đối số thứ hai bằng ngày cụ thể. Chẳng hạn như

=DATEDIF(ngày sinh, ngày_cụ thể, "y")

  • ngày sinh . ngày sinh nhật.
  • ngày_cụ thể . Ngày kết thúc mà bạn muốn tính tuổi từ ngày sinh.
  • y . Nó trả về số năm hoàn chỉnh kể từ ngày sinh đến ngày hiện tại.

Vui lòng sử dụng công thức như thế này

=DATEDIF(B2, C2, "y")

Và sau đó, độ tuổi đã được tính từ ngày sinh đến ngày cụ thể như ảnh chụp màn hình sau

Tính tuổi trong Excel từ ngày sinh

Lời khuyên. Để biết chính xác năm, tháng, ngày của tuổi, vui lòng sử dụng công thức dưới đây

=DATEDIF(B2, C2,"Y") & " Năm," & DATEDIF(B2,C2,"YM") & " Tháng," &DATEDIF(B2,C2, "MD") & " Ngày"

Tính tuổi trong Excel từ ngày sinh


Tính tuổi dựa trên ngày sinh trước năm 1900

Các công thức trên không hoạt động chính xác khi ngày sinh trước năm 1900, bởi vì khi nhập ngày trước năm 1900, nó sẽ được lưu trữ tự động ở định dạng văn bản trong Excel. Vì vậy, đây là Hàm do người dùng xác định giúp bạn lấy tuổi nếu ngày sinh sớm hơn năm 1900

1. Nhấn tổ hợp phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Applications

2. Và sau đó nhấp vào Chèn > Mô-đun, sau đó sao chép mã VBA sau vào cửa sổ Mô-đun

Tính tuổi từ ngày sinh trước năm 1900 đến nay

Function AgelnNow(ByVal xDate As Variant)
Dim xIA As Integer
xIA = 0
On Error Resume Next
xIA = DateDiff("yyyy", xDate, Now())
If (Month(Now()) < Month(xDate)) Or (Month(xDate) = Month(Now())) Then
If (Day(Now()) < Day(xDate)) Then
xIA = xIA - 1
End If
End If
If xIA = -1 Then
AgelnNow = "Error"
Else
AgelnNow = xIA
End If
End Function

3. Sau đó nhập công thức sau vào ô trống. =AgelnNow(A2) (A2 là ô ngày sinh)

Sau đó kéo chốt điền xuống các ô muốn lấy tuổi, tất cả các tuổi từ ngày sinh đến hôm nay đều đã được tính, xem ảnh chụp màn hình

Tính tuổi trong Excel từ ngày sinh

Mẹo. Nếu bạn cần lấy tuổi từ ngày sinh đến ngày mất thay vì ngày hiện tại, vui lòng áp dụng mã dưới đây

Tính tuổi từ ngày sinh trước năm 1900 đến ngày mất

Function Age(ByVal StartDate As Variant, ByVal EndDate As Variant)
    Dim xIA As Integer
    xIA = 0
    On Error Resume Next
    xIA = DateDiff("yyyy", StartDate, EndDate)
    If (Month(EndDate) < Month(StartDate)) Or (Month(StartDate) = Month(EndDate)) Then
        If (Day(EndDate) < Day(StartDate)) Then
            xIA = xIA - 1
        End If
    End If
    If xIA = -1 Then
       Age = "Error"
    Else
        Age = xIA
    End If
End Function

Và sử dụng công thức này. =Age(A2,B2) (A2 là ô ngày sinh và B2 là ô ngày mất) để có kết quả như ảnh chụp màn hình bên dưới.

Tính tuổi trong Excel từ ngày sinh


Tính tuổi dựa trên ngày sinh từ hiện tại hoặc một ngày cụ thể với một tính năng tuyệt vời

Kutools cho Excel hỗ trợ một công cụ tiện dụng - Tính năng Trình trợ giúp Ngày & Giờ có thể giúp bạn tính tuổi dựa trên ngày sinh từ ngày hiện tại hoặc một ngày cụ thể khi bạn cần mà không cần nhớ bất kỳ công thức đau đớn nào. Nhấp để tải xuống Kutools cho Excel dùng thử miễn phí

Tính tuổi trong Excel từ ngày sinh


Các chức năng tương đối được sử dụng

  • NĂMFRAC
  • Nó trả về một giá trị thập phân đại diện cho các năm phân số giữa hai ngày

  • HÔM NAY()
  • Nó cho giá trị ngày hiện tại

  • INT()
  • Nó trả về phần nguyên của một giá trị

  • NGÀY
  • Hàm này trả về số năm, số tháng hoặc số ngày giữa hai ngày đã cho


Bài tính tuổi tương đối

  • Đổi Ngày Sinh Thành Tuổi Nhanh Trong Excel
  • Chẳng hạn, bạn nhận được một loạt dữ liệu ngày sinh khác nhau trong Excel và bạn cần chuyển đổi ngày sinh để hiển thị giá trị tuổi chính xác của chúng trong Excel, bạn muốn tính như thế nào?

  • Tính Tuổi Từ Ngày Sinh Trong Google Sheet
  • Bạn đã bao giờ thử tính tuổi từ ngày sinh trên Google sheet chưa?

  • Tính Tuổi Từ Số CMND Trong Excel
  • Giả sử bạn có một danh sách ID gồm 13 chữ số, trong đó 6 số đầu là ngày tháng năm sinh. Ví dụ số CMND 9808020181286 tức là ngày sinh là 1998/08/02

  • Tính tuổi theo năm tháng ngày kể từ ngày sinh
  • Nếu có một cột ngày sinh cho trước, bạn có thể tính nhanh từng độ tuổi dựa trên ngày sinh đã cho đó theo năm, tháng và ngày hoặc theo số thập phân như ảnh chụp màn hình bên dưới không?

  • Tính tuổi vào một ngày cụ thể hoặc trong tương lai trong Excel
  • Ví dụ: bạn có ngày sinh của một người, nếu bạn cần tính tuổi của người này dựa trên một ngày cụ thể hoặc trong tương lai, các phương pháp sau sẽ giúp bạn từng bước chi tiết


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel - Giúp Bạn Nổi Bật Trước Đám Đông

Bạn có muốn hoàn thành công việc hàng ngày của mình một cách nhanh chóng và hoàn hảo? . ) và tiết kiệm 80% thời gian cho bạn

  • Được thiết kế cho 1500 kịch bản công việc, giúp bạn giải quyết 80% vấn đề về Excel
  • Giảm hàng ngàn lần click chuột và bàn phím mỗi ngày, giải phóng đôi mắt và bàn tay mệt mỏi của bạn
  • Trở thành chuyên gia Excel trong 3 phút. Không còn cần phải nhớ bất kỳ công thức đau đớn và mã VBA nào
  • 30 ngày dùng thử miễn phí không giới hạn. Đảm bảo hoàn tiền trong 60 ngày. Nâng cấp và hỗ trợ miễn phí trong 2 năm

Tính tuổi trong Excel từ ngày sinh

Đọc thêm Tải xuống


Tab Office - Cho phép đọc và chỉnh sửa theo tab trong Microsoft Office (bao gồm Excel)

  • Một giây để chuyển đổi giữa hàng chục tài liệu đang mở
  • Giảm hàng trăm cú click chuột cho bạn mỗi ngày, tạm biệt tay chuột
  • Tăng 50% năng suất của bạn khi xem và chỉnh sửa nhiều tài liệu
  • Mang đến các tab hiệu quả cho Office (bao gồm Excel), giống như Chrome, Firefox và Internet Explorer mới

Tính tuổi trong Excel từ ngày sinh

Đọc thêm Tải xuống

Cũ nhất đầu tiên

Sắp xếp nhận xét theo

Cũ nhất đầu tiên

mới nhất đầu tiên

Nhận xét ( 1 )

Chưa có xếp hạng nào. Hãy là người đầu tiên xếp hạng

Tính tuổi trong Excel từ ngày sinh

Bột

khoảng 1 năm trước

Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web

Tôi e rằng chức năng Tuổi của bạn có thể bị lỗi? . nếu họ chết vào tháng 5, tức là 3 tháng trước sinh nhật tháng 8, thì họ chưa đủ 40; . Có vẻ như một cái gì đó có thể không được tính toán một cách chính xác? . -Bột