Tính Tuổi Theo Ngày Tháng Năm Sinh Trong Excel

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.

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:

  1. Chọn cột chứa dữ liệu ngày tháng.
  2. Dùng tính năng “Text to Columns” (Chuyển đổi văn bản thành cột) trong tab Data.
  3. 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.

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)
  • 1 là tính toán theo phương pháp 30/360, bạn có thể thử 2 cho 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

Tính Tuổi Theo Ngày Tháng Năm Sinh Trong Excel
Tính Tuổi Theo Ngày Tháng Năm Sinh Trong Excel

Đô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:

  1. 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.
  2. So sánh với công thức đơn giản: So sánh kết quả DATEDIF với công thức INT((TODAY()-A2)/365.25) để thấy sự khác biệt.
  3. 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.
  4. 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”.
  5. 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

  1. Đị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.
  2. 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.
  3. 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ặc DATEVALUE(cell).
  4. Số ngày trong năm: Sử dụng 365.25 trong 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ùng DATEDIF hoặc YEARFRAC.

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.

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận