Có thể bạn quan tâm: Thêm Số 0 Trước Số Điện Thoại Trong Excel: Cách Thực Hiện Nhanh Và Hiệu Quả
Giới thiệu
Trong công việc quản lý dữ liệu, tính toán tuổi của một cá nhân dựa trên ngày, tháng và năm sinh là một nhu cầu phổ biến. Dù là trong bộ hồ sơ nhân sự, bảng chấm công, hay bảng thống kê dân số, việc tính tuổi một cách chính xác và tự động giúp giảm thiểu sai sót và tiết kiệm thời gian đáng kể. Khi làm việc với Excel – một trong những công cụ bảng tính mạnh nhất hiện nay – bạn có thể dễ dàng thực hiện công việc này nhờ vào các hàm tính ngày tháng và công thức tùy chỉnh. Bài viết dưới đây sẽ hướng dẫn chi tiết cách tính tuổi theo ngày tháng năm sinh trong Excel, từ những công thức đơn giản nhất đến các giải pháp nâng cao như dùng hàm DATEDIF, YEARFRAC, hay viết macro VBA để tính tuổi theo yêu cầu của từng trường hợp.
Có thể bạn quan tâm: Mẫu Biên Bản Bàn Giao Công Việc File Excel: Cách Trình Bày, Công Thức Và Lưu Trữ Hiệu Quả
1. Nhập dữ liệu ngày tháng năm sinh
Trước hết, hãy chuẩn bị dữ liệu của bạn trong Excel. Để tính tuổi một cách chính xác, dữ liệu ngày tháng năm sinh phải được nhập dưới dạng ngày tháng (date), không dưới dạng chuỗi (text). Nếu dữ liệu của bạn đang ở dạng chuỗi, bạn có thể chuyển đổi bằng cách:
- Chọn cột chứa dữ liệu ngày tháng.
- Dùng tính năng “Text to Columns” (Chuyển đổi văn bản thành cột) trong tab Data.
- Chọn Delimited → Next → bỏ chọn mọi delimiters → Next → chọn Date: DMY hoặc MDY tùy theo định dạng của bạn → Finish.
Kết quả là cột dữ liệu sẽ hiển thị dưới dạng ngày tháng chuẩn trong Excel, cho phép bạn áp dụng các hàm ngày tháng một cách dễ dàng.
Có thể bạn quan tâm: Mẫu 02 Quyết Định 28/2026 Qđ-ttg: Cách Áp Dụng Và Hướng Dẫn Thực Tiễn Trong Excel
2. Công thức đơn giản: Sự khác nhau giữa hai ngày
Cách đầu tiên Knowing how to compute age in Excel: use the difference between the current date and the birth date, then convert that difference into years. The simplest formula is:
=INT((TODAY()-A2)/365.25)
Trong đó:
– TODAY() – trả về ngày hiện tại.
– A2 – ô chứa ngày sinh của người đó.
– 365.25 – số ngày trung bình trong một năm (đã tính năm nhuận).
Nhưng công thức này có những hạn chế:serialize. It doesn’t consider month and day differences, leading to inaccuracies when the current date is before the birthday in the current year.
3. Sử dụng hàm DATEDIF
Hàm DATEDIF được Excel cung cấp để tính khoảng cách giữa hai ngày. Đây là công thức chính xác hơn khi tính tuổi vì nó tính được năm, tháng, ngày riêng biệt. Cú传:
=DATEDIF(A2, TODAY(), "Y")
Giải thích:
– A2 – ngày sinh.
– TODAY() – ngày hiện tại.
– "Y" – yêu cầu trả về số năm hoàn chỉnh.
Ví dụ thực tế
| A (Ngày sinh) | B (Tuổi) |
| makedown | makedown |
|getitem |getitem |
|2026-04-15 | =DATEDIF(A2, TODAY(), “Y”) |
|1995-12-01 | =DATEDIF(A3, TODAY(), “Y”) |
Kết quả:
– B2 = 3 (đối với người sinh 15/04/2020δρα)
– B3 = 27 (đối với người sinh 01/12/1995)
Xác nhận độ chính xác
Hàm DATEDIF luôn tính chính xác dựa trên năm, tháng và ngày. Nếu bạn muốn xem xét độ tuổi lênующ до tháng hoặc ngày, bạn có thể sử dụng "YM" và "MD":
=DATEDIF(A2, TODAY(), "YM") // Tháng còn lại trong năm hiện tại
=DATEDIF(A2, TODAY(), "MD") // Ngày còn lại trong tháng hiện tại
Bạn có thể kết hợp chúng để đưa ra tuổi và tuổi “độ tuổi thực”:
=DATEDIF(A2, TODAY(), "Y") & " năm, " & DATEDIF(A2, TODAY(), "YM") & " tháng, " & DATEDIF(A2, TODAY(), "MD") & " ngày"
4. Công thức nâng cao: Sử dụng YEARFRAC
Nếu bạn muốn tính tuổi với độ chính xác đến thập phân, hàm YEARFRAC flexibility. Công thức:
=YEARFRAC(A2, TODAY(), 1)
1là tính toán theo phương pháp 30/360, bạn có thể thử2cho phương pháp thực tế.- Kết quả trả về số năm dưới dạng số thực, ví dụ 27.75 tuổi.
Bạn có thể làm tròn số này:
=ROUND(YEARFRAC(A2, TODAY(), 1), 1)
5. Xử lý các tùy chọn đặc biệt
5.1. Tính tuổi không dựa vào ngày hiện tại

Có thể bạn quan tâm: Tính Số Ngày Từ Ngày Đến Ngày Trong Excel: Hướng Dẫn Chi Tiết, Công Thức Và Mẹo Thực Tế
Đôi khi bạn cần tính tuổi tại một ngày cụ thể, không phải ngày hiện tại, ví dụ như trong báo cáo lịch sử. Thay vì TODAY(), bạn có thể dùng một ô chứa ngày cần tính:
=DATEDIF(A2, E2, "Y")
Trong đó E2 chứa ngày cần tính tuổi.
5.2. Kiểm tra dữ liệu không hợp lệ
Nếu ô ngày sinh chưa đầy đủ hoặc có lỗi, hàm DATEDIF sẽ trả về lỗi #NUM!. Bạn có thể tránh lỗi bằng cách dùng IFERROR:
=IFERROR(DATEDIF(A2, TODAY(), "Y"), "Ngày sinh không hợp lệ")
5.3. Ghi chú: Định dạng ngày
Để đảm bảo tính toán chính xác, hãy kiểm tra định dạng ngày trong Excel:
– Chọn ô ngày sinh, click Home → Number Format → Short Date hoặc Long Date.
– Nếu dữ liệu vẫn không được nhận dạng, thử nhập lại bằng cách gõ dd/mm/yyyy hoặc mm/dd/yyyy tùy theo vùng địa lý.
6. Kết hợp tính tuổiollar với các hàm khác
6.1. Tính tuổi và phân loại độ tuổi
Bạn có thể kết hợp tính tuổi với hàm IF để phân loại độ tuổi:
=IF(DATEDIF(A2, TODAY(), "Y") < 18, "Thiếu niên", IF(DATEDIF(A2, TODAY(), "Y") <= 65, "Người trưởng thành", "Người cao tuổi"))
6.2. Tính tuổi và tính ngày sinh lần đầu
Nếu bạn muốn biết ngày sinh lần đầu (tức là ngày sinh của nhân viên đầu tiên) trong danh sách, bạn có thể dùng hàm MIN:
=MIN(A:A) // Tìm ngày sinh nhỏ nhất
Sau đó tính tuổi:
=DATEDIF(MIN(A:A), TODAY(), "Y")
7. Bài tập thực hành
Hãy thử thực hiện các bài tập sau để củng cố kiến thức:
- Tính tuổi chính xác: Tạo bảng gồm 10 người với ngày sinh khác nhau, tính tuổi chính xác bằng
DATEDIF. - So sánh với công thức đơn giản: So sánh kết quả
DATEDIFvới công thứcINT((TODAY()-A2)/365.25)để thấy sự khác biệt. - Tính tuổi thập phân: Dùng
YEARFRACđể tính tuổi với độ chính xác 0.01 năm. - Phân loại độ tuổi: Dùng
IFđể phân loại thành “Thiếu niên”, “Người trưởng thành”, “Người cao tuổi”. - Xử lý lỗi: Thêm một ô có giá trị lỗi (ví dụ: trống) và dùng
IFERRORđể tránh lỗi khi tính tuổi.
8. VBA: Tự động tính tuổi trong một cột
Nếu bạn làm việc với danh sách lớn và muốn tính tuổi ngay khi nhập ngày sinh, bạn có thể viết một đoạn macro VBA. Dưới đây là ví dụ—
Sub TinhTuoi() Dim rng As Range, cell As Range Dim bn Asaaraha ' Giả sử cột A là ngày sinh, cột B sẽ chứa tuổi Set rng = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row) For Each cell In rng If IsDate(cell.Value) Then bn = DateDiff("yyyy", cell.Value, Date) ' Điều chỉnh nếu ngày hiện tại chưa vượt qua ngày sinh năm nay If Date < DateSerial(Year(Date), Month(cell.Value), Day(cell.Value)) Then bn = bn - 1 End If cell.Offset(0, 1).Value = bn Else cell.Offset(0, 1).Value = "Không hợp lệ" End If Next cell
End Sub
- Macro này lặp qua từng ô trong cột A, kiểm tra dữ liệu hợp lệ, tính tuổi bằng
DateDiff, và điều chỉnh nếu ngày hiện tại chưa vượt qua ngày sinh trong năm hiện tại. - Kết quả được ghi vào cột B ngay cạnh ô ngày sinh.
Lưu ý khi chạy macro typical
- Đảm bảo đã bật “Developer” tab trong Excel.
- Lưu file dưới định dạng
.xlsmđể macro hoạt động. - Trước khi chạy, sao lưu dữ liệu để tránh mất mát.
9. Các lưu ý khi làm việc với Excel và ngày tháng
- Định dạng ngày: Excel có thể nhận dạng ngày theo chuẩn quốc tế (yyyy-mm-dd) hoặc theo khu vực. Nếu dữ liệu nhập từ nguồn bên ngoài, hãy kiểm tra định dạng.
- Năm nhuận: Khi tính tuổi, nhận ra rằng năm 2026/2028/2032… là năm nhuận. Hàm
DATEDIFđã tính đến điều này tự động. - Thời gian: Nếu ô chứa ngày giờ (date-time), có thể gây sai lệch khi tính tuổi. Hãy loại bỏ phần giờ bằng cách dùng
INT(cell)hoặcDATEVALUE(cell). - Số ngày trong năm: Sử dụng
365.25trong công thức đơn giản là một phép ước lượng; nếu cần độ chính xác cao hơn, hãy dùngDATEDIFhoặcYEARFRAC.
10. Tổng kết
- Cách nhanh nhất:
=DATEDIF(A2, TODAY(), "Y")– trả về tuổi chính xác bằng năm. - Cách nâng cao:
=YEARFRAC(A2, TODAY(), 1)– tính tuổi với độ chính xác thập phân. - Xử lý lỗi:
IFERROR:”. - Macro: Dùng VBA để tự động tính tuổi trong danh sách lớn.
- Phân loại: Kết hợp
IFđể phân loại độ tuổi.
Bằng cách áp dụng những công thức và kỹ thuật trên, bạn có thể tính tuổi một cách chính xác và nhanh chóng trong Excel, đồng thời tránh được những sai sót phổ biến khi làm việc với dữ liệu ngày tháng. Khóa học hoặc tài liệu này sẽ hữu ích cho mọi người đang quản lý dữ liệu nhân sự, chăm sóc khách hàng, hoặc bất kỳ lĩnh vực nào cần tính tuổi một cách chính xác.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
