Quay lại Blog
11 min read

Cách tính tuổi trong Excel (DATEDIF & YEARFRAC) + Mẫu miễn phí

Công thức Excel từng bước để tính tuổi tính từ ngày sinh bằng DATEDIF, YEARFRAC và TODAY(). Bao gồm các ví dụ thực tế, mẹo khắc phục sự cố và công cụ tính tuổi trực tuyến miễn phí.

Cách tính tuổi trong Excel (DATEDIF & YEARFRAC) + Mẫu miễn phí

Tính tuổi trong Excel là một trong những tác vụ bảng tính phổ biến nhất-cho dù bạn đang quản lý hồ sơ nhân viên, theo dõi ngày sinh nhật của khách hàng hay xây dựng cơ sở dữ liệu trường học. Hướng dẫn toàn diện này bao gồm mọi phương pháp bạn cần, từ cách tính năm đơn giản đến phân tích độ tuổi chính xác theo năm, tháng và ngày.

Mục lục

  1. Trước khi bạn bắt đầu: Định dạng ngày Khái niệm cơ bản

  2. Phương pháp 1: DATEDIF – Tuổi theo những năm trọn vẹn

  3. Phương pháp 2: Tuổi tính theo năm, tháng và Ngày

  4. Phương pháp 3: Tính tuổi theo một ngày cụ thể

  5. Phương pháp 4: YEARFRAC – Tuổi với Số thập phân

  6. Phương pháp 5: Tính tuổi cho nhiều hàng

  7. Phần thưởng: Số ngày cho đến lần tiếp theo Ngày sinh

  8. Bảng so sánh phương pháp

  9. Các vấn đề thường gặp và Giải pháp

  10. Excel vs Google Trang tính

  11. Trực tuyến Thay thế

  12. Câu hỏi thường gặp

Trước khi bạn bắt đầu: Khái niệm cơ bản về định dạng ngày

Trước khi đi sâu vào công thức, hãy đảm bảo ngày tháng của bạn chính xác được định dạng. Excel phân biệt giữa ngày thực tế và văn bản trông giống ngày tháng-và sự khác biệt này rất quan trọng.

Cách kiểm tra xem một ô có chứa ngày thực hay không:

  1. Nhấp vào ô có chữ của bạn ngày

  2. Hãy nhìn vào thanh công thức-nếu nó hiển thị một số (như 45678) thì đó là ngày thực

  3. Nếu nó hiển thị văn bản (như "15/01/1990"), Excel coi nó là một chuỗi

Đang chuyển đổi văn bản thành ngày:

Nếu ngày của bạn được lưu dưới dạng văn bản, hãy chuyển đổi nó đầu tiên:

=DATEVALUE(A2)

Sau đó định dạng ô kết quả là Ngày (Nhấp chuột phải → Định dạng ô → Ngày).

Quan trọng: Các ngôn ngữ khác nhau diễn giải các định dạng ngày khác nhau. "01/02/2000" có thể có nghĩa là ngày 2 tháng 1 (Hoa Kỳ) hoặc ngày 1 tháng 2 (Châu Âu). Luôn đảm bảo ngày tháng của bạn được phân tích cú pháp chính xác.

Phương pháp 1: DATEDIF – Tuổi trong các năm đầy đủ

Hàm DATEDIF là cách đơn giản nhất để tính tuổi trong Excel. Nó trả về số năm trọn vẹn giữa hai ngày.

Công thức:

=DATEDIF(A2, TODAY(), "Y")

Trong đó:

  • A2 = ô chứa ngày tháng ngày sinh

  • TODAY() = ngày hiện tại (cập nhật tự động)

  • "Y" = hoàn tất trả về năm

Ví dụ:

[[[TA G_130]]]

A

B

Ngày Ngày sinh

Tuổi

[[[TAG_ 156]] quán quân HÔM NAY(), "Y" 8]]]1985-07-22

=DATEDIF(A3, HÔM NAY(), "Y" 8]]]2000-12-01

=DATEDIF(A4, TODAY(), "Y")

Kết quả (tính đến tháng 1) 2026):

[[[TA G_195]]]

Ngày của Ngày sinh

Tuổi

1990-03-15

35

[[[TAG_ 216]]]

1985-07-22[[[TAG_ 221]] quán quân [[TAG_227]]]

2000-12-01

[ [[TAG_232]]]

25

Lưu ý: DATEDIF là một hàm "ẩn" trong Excel-nó sẽ không xuất hiện trong chế độ tự động hoàn thành nhưng hoạt động hoàn hảo. Chỉ cần nhập thủ công.

Phương pháp 2: Tuổi theo năm, tháng và ngày

Đối với các trường hợp yêu cầu độ tuổi chính xác (hồ sơ y tế, tài liệu pháp lý, hệ thống nhân sự), bạn sẽ muốn có thông tin đầy đủ

Các công thức riêng lẻ:

Năm: =DATEDIF(A2, TODAY(), "Y")
Tháng: =DATEDIF(A2, TODAY(), "YM")
Ngày: =DATEDIF(A2, TODAY(), "MD")

Tham số thứ hai mã:

  • "Y" = hoàn toàn hoàn thành năm

  • "YM" = số tháng còn lại sau khi hoàn thành năm

  • "MD" = số ngày còn lại sau khi hoàn thành tháng

Công thức tất cả trong một (ô đơn):

=DATEDIF(A2,TODAY(),"Y") & " năm, " & DATEDIF(A2,TODAY(),"YM") & " tháng, " & DATEDIF(A2,TODAY(),"MD") & " ngày"

Kết quả mẫu: "35 năm, 10 tháng, 12 ngày"

Định dạng chuyên nghiệp với nhãn:

Để có kết quả rõ ràng hơn, bạn có thể thêm điều kiện định dạng:

=DATEDIF(A2,TODAY(),"Y") & IF(DATEDIF(A2,TODAY(),"Y")=1," năm, "," năm, ") & DATEDIF(A2,TODAY(),"YM") & IF(DATEDIF(A2,TODAY(),"YM")=1," tháng, "," tháng, ") & DATEDIF(A2,TODAY(),"MD") & IF(DATEDIF(A2,TODAY(),"MD")=1," day"," ngày")

Điều này xử lý số ít/số nhiều một cách chính xác (ví dụ: "1 năm" so với "2 năm").[[TA TAG_301]]]

Phương pháp 3: Tính tuổi theo một ngày cụ thể

Đôi khi bạn cần tính tuổi vào một ngày cụ thể thay vì hôm nay-ví dụ: tuổi tại thời điểm xảy ra sự kiện, tuổi khi ghi danh hoặc tuổi tại một sự kiện lịch sử ngày.

Công thức:

=DATEDIF(A2, B2, "Y" ngày sinh

  • B2 = ngày tham chiếu (ngày sự kiện, ngày đăng ký, v.v.)

  • Ví dụ: Độ tuổi của nhân viên được tuyển dụng ngày

    [[[TAG_3 ngày ngày sinh

    [[[ TAG_369]]]

    2020-03-01

    [[[T AG_387]]]

    2021-06-15

    Ngày thuê

    Tuổi ở Thuê

    John Smith

    1988-05-20

    =DATEDIF(B2, C2, "Y" Doe

    1992-11-15

    =DATEDIF(B3, C3, "Y" ngày:

    =DATEDIF(A2,B2,"Y") & " năm, " & DATEDIF(A2,B2,"YM") & " tháng, " & DATEDIF(A2,B2,"MD") & " ngày"

    Phương pháp 4: YEARFRAC – Tuổi có số thập phân

    Khi bạn cần tuổi dưới dạng số thập phân (phổ biến trong tính toán tài chính, công việc tính toán bảo hiểm hoặc ứng dụng khoa học), hãy sử dụng YEARFRAC.

    Công thức:

    =YEARFRAC(A2, TODAY(), 1)

    Đầu ra ví dụ: 35,87 (nghĩa là 35 năm và khoảng 10,5 tháng)

    Các tùy chọn cơ bản (thứ ba tham số):

    [[ [TAG_434]]]

    Giá trị

    [[[TAG_488]] quán quân

    Thực tế/365

    Phương thức

    Tốt nhất dành cho

    0

    US 30/360

    Tính toán tài chính (US)

    1

    [[[TAG _465]]]

    Thực tế/thực tế

    Hầu hết chính xác theo độ tuổi phép tính

    2

    [[ [TAG_479]]]

    Thực tế/360

    Ngân hàng phép tính

    Bỏ qua năm nhuận

    4

    Châu Âu 30/360

    Tính toán tài chính (EU)

    Đề xuất: Sử dụng 1 (thực tế/thực tế) để tính tuổi-đó là cách tính toán chính xác nhất.

    Để chỉ lấy phần nguyên:

    =INT(YEARFRAC(A2, TODAY(), 1))

    Để tính tuổi được làm tròn đến một số thập phân:

    =ROUND(YEARFRAC(A2, TODAY(), 1), 1)

    Phương pháp 5: Tính tuổi cho nhiều hàng

    Khi làm việc với danh sách người (nhân viên, sinh viên, khách hàng), bạn cần những cách hiệu quả để tính tuổi cho mọi người tại một lần.

    Bước 1: Thiết lập dữ liệu

    [[[TAG _554]]][[[TAG_569 ]]][[[TAG _593]]]

    [[[TAG _607]]]

    [[[TAG_6 21]]]

    A

    [[ [TAG_562]]]B

    C

    Tên

    Ngày ngày sinh

    Tuổi

    Alice Johnson

    1985-03-22

    Bob Williams

    1990-07-14

    Carol Davis

    1978-11-30

    David Nâu

    1995-02-08

    [ [[TAG_636]]]

    Bước 2: Nhập công thức ở hàng đầu tiên

    Trong ô C2, nhập:

    =DATEDIF(B2, TODAY(), "Y")

    Bước 3: Sao chép xuống

    • Chọn C2

    • Nhấp đúp vào hình vuông nhỏ ở góc dưới bên phải (điền vào ô điều khiển)

    • Excel tự động sao chép công thức sang tất cả các hàng bằng data

    Sử dụng bảng để tự động mở rộng:

    1. Chọn phạm vi dữ liệu của bạn (A1:C5)

    2. Nhấn Ctrl+T để tạo Bảng

    3. Nhập công thức trong dữ liệu đầu tiên row của cột Tuổi

    4. Excel tự động áp dụng cột này cho tất cả các hàng-và các hàng mới mà bạn thêm sau

    Danh mục độ tuổi công thức:

    Để nhóm các độ tuổi thành các danh mục (hữu ích cho nhân khẩu học phân tích):

    =IF(DATEDIF(B2,TODAY(),"Y")<18,"Minor",IF (DATEDIF(B2,TODAY(),"Y")<65,"Adult","Cao cấp"))

    Phần thưởng: Số ngày cho đến sinh nhật tiếp theo

    Trường hợp sử dụng phổ biến: lời nhắc sinh nhật hoặc "ngày cho đến sinh nhật"

    Công thức:

    =DATE(YEAR(TODAY()) + (DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))

    Cách hoạt động:

    1. Tạo cấu trúc này sinh nhật của năm tính từ ngày sinh

    2. Nếu năm nay đã qua ngày sinh nhật thì cộng 1 để nhận vào năm sau

    3. Trừ ngày hôm nay để lấy phần còn lại ngày

    Đầu ra ví dụ: 47 (ngày cho đến sinh nhật)

    Phương án thay thế: Sinh nhật tiếp theo ngày

    Để hiển thị ngày thực tế của sinh nhật tiếp theo:

    =DATE(YEAR(TODAY()) + (DATE(YEAR(TODAY()),MONTH(A2),DAY(A2))

    So sánh phương pháp Bảng

    [[ [TAG_753]]][[[ TAG_765]]]

    Đầu ra

    Phương thức[[[ TAG_759]]]

    Công thức

    Tốt nhất Dành cho

    DATEDIF (năm)[[[TAG_777]] quán quân [[TAG_783]]]

    35

    Đơn giản hiển thị độ tuổi

    DATEDIF (đầy đủ)

    =DATEDIF(...) với Y, YM, MD

    35 năm, 10 tháng, 12 ngày

    Chính xác hồ sơ

    [[[TAG_ 816]]]YEARFRAC

    = Năm G_826]]]35,87

    Tài chính/khoa học ấn tượng

    [[[TAG_83 6]]]INT(YEARFRAC)

    [[[TAG_841] ]]=INT(YEARFRAC(A2,TODAY(),1))

    [[[TAG_845] ]]

    35

    Phương án thay thế đến DATEDIF

    [[[ TAG_857]]]Đề xuất:

    • Trong hầu hết các trường hợp, hãy sử dụng DATEDIF với thông số "Y"

    • Để biết số liệu phân tích chính xác, hãy sử dụng DATEDIF với cả ba thông số

    • Đối với độ tuổi thập phân, hãy sử dụng YEARFRAC với cơ sở 1

    Các vấn đề thường gặp và giải pháp

    Vấn đề: DATEDIF không xuất hiện trong tự động hoàn thành

    Giải pháp: Điều này là bình thường. DATEDIF là một hàm kế thừa mà Microsoft chưa bao giờ ghi chép chính thức. Chỉ cần nhập thủ công-nó hoạt động trong tất cả các phiên bản Excel từ 2007 trở đi.

    Vấn đề: #VALUE! lỗi

    Nguyên nhân:

    • Một hoặc cả hai ô chứa văn bản thay vì ngày

    • Các ô trống trong công thức phạm vi

    Giải pháp:

    1. Chuyển đổi văn bản sang ngày: =DATEVALUE(A2)

    2. Kiểm tra các ô trống: =IF(A2="", "", DATEDIF(A2, TODAY(), "Y"). lỗi

      Nguyên nhân: Ngày kết thúc trước ngày bắt đầu (ví dụ: ngày sinh trong tương lai hoặc sai ngày order)

      Giải pháp:

      1. Hoán đổi đối số: =DATEDIF(B2, A2, "Y") thay vì =DATEDIF(A2, B2, "Y" "Ngày trong tương lai", DATEDIF(A2, TODAY(), "Y"))

      Vấn đề: Công thức hiển thị dấu chấm phẩy thay vì dấu phẩy

      Nguyên nhân: Excel của bạn sử dụng cài đặt ngôn ngữ Châu Âu

      Giải pháp: Thay thế dấu phẩy bằng dấu chấm phẩy:

      =DATEDIF(A2; TODAY(); "Y")

      Vấn đề: Tuổi lệch đi một năm

      Nguyên nhân: Thường là cách diễn giải định dạng ngày vấn đề

      Giải pháp:

      1. Xác minh ngày trong công thức là chính xác bar

      2. Nhập lại ngày ở định dạng ISO (YYYY-MM-DD)

      3. Sử dụng DATEVALUE để phân tích cú pháp một cách rõ ràng ngày

      Sự cố: Công thức hoạt động nhưng hiển thị dưới dạng văn bản

      Giải pháp: Xóa mọi dấu nháy đơn ở đầu ô hoặc nhập lại công thức không có dấu cách trước đó dấu bằng.

      Excel vs Google Sheets

      Cả Excel và Google Sheets đều hỗ trợ DATEDIF, nhưng có một số dấu hiệu tinh tế sự khác biệt:

      [[[TA G_1003]]]

      Tính năng

      Excel

      Google Trang tính

      DATEDIF hỗ trợ

      Có (ẩn)

      Có (hiển thị trong tự động hoàn thành)

      YEARFRAC

      [[[TAG_1 037]]]Có

      Có[[[TAG_104 2]] quán quân phân tích cú pháp

      Phụ thuộc vào địa phương

      Thêm linh hoạt

      [[ [TAG_1061]]]TODAY()

      Có[[ [TAG_1066]]]

      [[[TAG_10 71]] quán cà phê Các trang tính cụ thể:

      • DATEDIF xuất hiện trong tự động hoàn thành (không giống như Excel)

      • Tính năng phân tích ngày thường dễ tha thứ hơn

      • Cú pháp công thức giống nhau hoạt động ở hầu hết trường hợp

      Mẹo: Để có khả năng tương thích tối đa giữa cả hai nền tảng, luôn luôn sử dụng:

      • Định dạng ngày ISO (YYYY-MM-DD)

      • Các hàm ngày rõ ràng thay vì văn bản ngày

      • DATEDIF để tính tuổi (hoạt động giống hệt nhau trong cả hai)

      Trực tuyến Thay thế

      Bạn không muốn sử dụng bảng tính? Hãy dùng thử Máy tính tuổi trực tuyến miễn phí của chúng tôi để tính ngay độ tuổi chính xác theo năm, tháng, tuần và ngày. Không cần công thức-chỉ cần nhập ngày sinh và nhận kết quả chính xác.

      Máy tính trực tuyến cũng cung cấp:

      • Tuổi theo nhiều đơn vị (năm, tháng, tuần, ngày)

      • Đếm ngược ngày sinh nhật tiếp theo

      • Ngày trong tuần của bạn sinh

      • Tổng số ngày đã sống

      FAQ

      DATEDIF có chính xác cho năm nhuận không?

      Có. Khi các ô của bạn chứa ngày được định dạng chính xác, Excel sẽ tự động tính các năm nhuận và độ dài tháng khác nhau. Hàm DATEDIF xử lý chính xác ngày sinh nhật ngày 29 tháng 2 và tính toán tuổi một cách chính xác bất kể cân nhắc về năm nhuận.

      Phương pháp nào là tốt nhất: DATEDIF hoặc YEARFRAC?

      Sử dụng DATEDIF khi bạn cần rõ ràng, là số nguyên (năm, tháng, ngày)-đây là tiêu chuẩn cho hầu hết các trường hợp sử dụng cá nhân và kinh doanh. Sử dụng YEARFRAC khi bạn đặc biệt cần các giá trị thập phân, chẳng hạn như trong các phép tính tài chính, bảng thống kê bảo hiểm hoặc các ứng dụng khoa học trong đó số năm phân số đóng vai trò quan trọng.

      Tôi có thể tính tuổi chỉ theo tháng không?

      Có. Sử dụng tham số "M" trong DATEDIF:

      =DATEDIF(A2, TODAY(), "M")

      Điều này trả về tổng số tháng trọn vẹn từ ngày sinh đến ngày sinh hôm nay.

      Tại sao DATEDIF không hiển thị trong tính năng tự động hoàn thành của Excel?

      DATEDIF là một chức năng tương thích mà Microsoft kế thừa từ Lotus 1-2-3. Nó chưa bao giờ được ghi lại chính thức trong hệ thống trợ giúp của Excel, vì vậy nó không xuất hiện trong trình hướng dẫn chức năng hoặc tự động hoàn thành. Tuy nhiên, nó có đầy đủ chức năng và được sử dụng rộng rãi. Chỉ cần nhập thủ công.

      Làm cách nào để tính tuổi giữa hai ngày cụ thể?

      Thay thế TODAY() bằng tham chiếu ô chứa ngày mục tiêu của bạn:

      =DATEDIF(A2, B2, "Y")

      Trong đó A2 là ngày sinh và B2 là ngày bạn muốn tính tuổi kể từ đó.

      Tính năng này có hoạt động trong các phiên bản Excel cũ hơn không?

      Có. DATEDIF đã có sẵn từ Excel 97. Các công thức trong hướng dẫn này hoạt động trong Excel 2007, 2010, 2013, 2016, 2019, 2021 và Microsoft 365.

      Làm cách nào tôi có thể tính tuổi của nhiều người tại một lần?

      Nhập công thức DATEDIF vào hàng đầu tiên của cột tuổi của bạn, sau đó kéo núm điều khiển điền xuống để sao chép công thức đó vào tất cả các hàng. Ngoài ra, hãy chuyển đổi dữ liệu của bạn thành Bảng Excel (Ctrl+T) và công thức sẽ tự động áp dụng cho tất cả các hàng, bao gồm cả những hàng mới mà bạn thêm sau này.

      Tôi có thể tính tuổi và hiển thị nó với định dạng tùy chỉnh không?

      Có. Kết hợp DATEDIF với các hàm TEXT và phép nối:

      =DATEDIF(A2,TODAY(),"Y") & "y " & DATEDIF(A2,TODAY(),"YM") & "m " & DATEDIF(A2,TODAY(),"MD") & "d"

      Đầu ra: "35y 10m 12d"