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í.
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
Trước khi bạn bắt đầu: Định dạng ngày Khái niệm cơ bản
Phương pháp 1: DATEDIF – Tuổi theo những năm trọn vẹn
Phương pháp 2: Tuổi tính theo năm, tháng và Ngày
Phương pháp 3: Tính tuổi theo một ngày cụ thể
Phương pháp 4: YEARFRAC – Tuổi với Số thập phân
Phương pháp 5: Tính tuổi cho nhiều hàng
Phần thưởng: Số ngày cho đến lần tiếp theo Ngày sinh
Bảng so sánh phương pháp
Các vấn đề thường gặp và Giải pháp
Excel vs Google Trang tính
Trực tuyến Thay thế
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:
Nhấp vào ô có chữ của bạn ngày
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
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 sinhTODAY()= 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
=DATEDIF(A3, HÔM NAY(), "Y" 8]]]2000-12-01
=DATEDIF(A4, TODAY(), "Y")
Kết quả (tính đến tháng 1) 2026):
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[[[TAG_845] ]]
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
Ngày thuê
Tuổi ở Thuê
John Smith
[[[ TAG_369]]] 1988-05-20
2020-03-01
=DATEDIF(B2, C2, "Y" Doe
[[[T AG_387]]] 1992-11-15
2021-06-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ị
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
[[[TAG_488]] quán quân Ngân hàng phép tính
Thực tế/365
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]]]
A
[[ [TAG_562]]]B [[[TAG_569 ]]] C
Tên
Ngày ngày sinh
Tuổi
Alice Johnson
[[[TAG _593]]] 1985-03-22
Bob Williams
[[[TAG _607]]] 1990-07-14
Carol Davis
[[[TAG_6 21]]] 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:
Chọn phạm vi dữ liệu của bạn (A1:C5)
Nhấn Ctrl+T để tạo Bảng
Nhập công thức trong dữ liệu đầu tiên row của cột Tuổi
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:
Tạo cấu trúc này sinh nhật của năm tính từ ngày sinh
Nếu năm nay đã qua ngày sinh nhật thì cộng 1 để nhận vào năm sau
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]]]
Phương thức[[[ TAG_759]]]
[[[ TAG_765]]] Công thức
Đầu ra
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, MD35 năm, 10 tháng, 12 ngày
Chính xác hồ sơ
[[[TAG_ 816]]]YEARFRAC
= Năm G_826]]]35,87Tài chính/khoa học ấn tượng
[[[TAG_83 6]]]INT(YEARFRAC) [[[TAG_841] ]]=INT(YEARFRAC(A2,TODAY(),1))
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:
Chuyển đổi văn bản sang ngày:
=DATEVALUE(A2)Kiểm tra các ô trống:
=IF(A2="", "", DATEDIF(A2, TODAY(), "Y"). lỗiNguyê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:
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:
Xác minh ngày trong công thức là chính xác bar
Nhập lại ngày ở định dạng ISO (YYYY-MM-DD)
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]]]
Có
[[[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"