Tracks
Tính tuổi trong Excel là một tác vụ phổ biến đối với chuyên viên nhân sự quản lý hồ sơ nhân viên, nhà nghiên cứu phân tích dữ liệu khảo sát, hoặc bất kỳ ai duy trì tập dữ liệu cá nhân. Mặc dù Excel không có hàm "AGE" riêng, một số công thức đơn giản có thể giúp bạn xác định tuổi của một người một cách chính xác. Hướng dẫn này sẽ giới thiệu các phương pháp tính tuổi trong Excel, từ cách tiếp cận cơ bản đến các công thức chi tiết hơn có thể cho ra số năm, tháng và ngày chính xác.
Đối với người mới sử dụng Excel, khóa học Giới thiệu về Excel của chúng tôi bao quát các kỹ năng thiết yếu như điều hướng giao diện, hiểu định dạng dữ liệu và làm việc với các hàm cơ bản. Nếu bạn muốn mở rộng năng lực phân tích vượt ra ngoài tính tuổi, khóa học Phân tích Dữ liệu trong Excel sẽ dạy bạn cách làm việc với PivotTable và các hàm logic nâng cao để có được những insight sâu sắc.
Công thức tính tuổi cơ bản trong Excel
Cách đơn giản nhất để tính tuổi trong Excel là lấy ngày hôm nay trừ ngày sinh và chia cho 365. Ví dụ, nếu ô A2 chứa ngày sinh, bạn có thể dùng:
=(TODAY()-A2)/365
Công thức này cho bạn số tuổi tính theo năm với phần thập phân biểu thị phần năm lẻ. Dù dễ áp dụng, cách này không phải lúc nào cũng chính xác. Việc chia cho 365 không tính đến năm nhuận, có thể dẫn đến sai số nhỏ tích lũy theo thời gian. Ngoài ra, phương pháp này cũng không xử lý đúng độ dài tháng khác nhau.
Chẳng hạn, dùng công thức này cho người sinh ngày 15/01/1990 có thể hiển thị 35,3 năm thay vì đúng 35 năm 3 tháng. Sai lệch này càng thấy rõ khi khoảng thời gian tăng lên, khiến cách này kém phù hợp cho việc theo dõi tuổi chính xác hoặc tài liệu pháp lý.
Phương pháp tính tuổi chính xác
Dùng INT() và YEARFRAC() để tăng độ chính xác
Hàm YEARFRAC() có thể mang lại độ chính xác cao hơn khi tính tuổi, nhưng điều này phụ thuộc vào cách bạn sử dụng. Mặc dù YEARFRAC() có thể tính đến năm nhuận và độ dài tháng khác nhau, điều đó phụ thuộc vào tham số basis tùy chọn:
=INT(YEARFRAC(A2,TODAY(),1))
Mỗi thành phần có một mục đích cụ thể:
-
YEARFRAC(start_date, end_date, basis)tính phần năm giữa hai ngày -
Tham số basis (
1) yêu cầu Excel dùng số ngày thực tế trong phép tính -
TODAY()cung cấp ngày hiện tại -
INT()loại bỏ phần thập phân, chỉ giữ số năm đã trọn
Nếu không chỉ định tham số basis, YEARFRAC() mặc định basis=0 (U.S. 30/360), coi mỗi tháng có 30 ngày và không tính đến độ dài tháng thực tế hoặc năm nhuận. Thiết lập basis=1 yêu cầu Excel dùng phương pháp actual/actual, nơi số ngày thực tế trong mỗi tháng và năm được dùng trong phép tính.
Phương pháp này được ưa chuộng trong hầu hết tình huống nhờ cân bằng giữa đơn giản và chính xác. Ví dụ, nếu ai đó sinh ngày 15/03/1995, công thức này sẽ cho ra số tuổi theo số năm đã trọn một cách chính xác.
Dùng DATEDIF() để có tuổi chính xác
Hàm DATEDIF() (Date Difference) được thiết kế đặc biệt để tính khoảng thời gian giữa các ngày. Để tính tuổi theo số năm đã trọn, dùng:
=DATEDIF(A2,TODAY(),"Y")
Tham số "Y" yêu cầu Excel chỉ đếm các năm đã trọn. Hàm này cho bạn số năm tròn một cách chính xác và hoạt động tốt khi bạn cần kết quả là số nguyên gọn gàng. Lợi thế của DATEDIF() là tính chuẩn xác—nó chỉ đếm một năm khi đã hoàn tất, rất phù hợp cho tính tuổi chính thức.
Kết hợp nhiều hàm DATEDIF()
Phương pháp này giúp bạn tính tuổi chính xác theo năm, tháng và ngày bằng cách kết hợp ba hàm DATEDIF():
Cho số năm:
=DATEDIF(A2,TODAY(),"Y")
Cho số tháng vượt quá năm đã trọn gần nhất:
=DATEDIF(A2,TODAY(),"YM")
Cho số ngày vượt quá tháng đã trọn gần nhất:
=DATEDIF(A2,TODAY(),"MD")
Để hiển thị cùng nhau trong một ô:
=DATEDIF(A2,TODAY(),"Y")&" years, "&DATEDIF(A2,TODAY(),"YM")&" months, "&DATEDIF(A2,TODAY(),"MD")&" days"
Cách này tạo ra phần tách tuổi rõ ràng, chi tiết. Để hiển thị sạch hơn, bạn có thể thêm các câu lệnh IF để ẩn giá trị bằng không:
=IF(DATEDIF(A2,TODAY(),"Y")=0,"",DATEDIF(A2,TODAY(),"Y")&" years, ")&IF(DATEDIF(A2,TODAY(),"YM")=0,"",DATEDIF(A2,TODAY(),"YM")&" months, ")&IF(DATEDIF(A2,TODAY(),"MD")=0,"",DATEDIF(A2,TODAY(),"MD")&" days")
Công thức này sẽ hiển thị "35 years, 3 months, 18 days" thay vì "35 years, 0 months, 0 days" khi phù hợp.
Các trường hợp sử dụng đặc biệt khi tính tuổi
Tính tuổi tại một ngày cụ thể
Đôi khi bạn cần tính tuổi tại một ngày khác ngày hôm nay, chẳng hạn ngày tuyển dụng trong tương lai hoặc một thời điểm trong quá khứ. Để điều chỉnh công thức cho một ngày tham chiếu cụ thể, chỉ cần thay TODAY() bằng ngày mục tiêu của bạn:
=DATEDIF(A2,DATE(2024,12,31),"Y")
Công thức này tính một người sẽ bao nhiêu tuổi vào ngày 31/12/2024. Tương tự, để có phần tách tuổi đầy đủ tại một ngày cụ thể:
=DATEDIF(A2,DATE(2024,12,31),"Y")&" years, "&DATEDIF(A2,DATE(2024,12,31),"YM")&" months, "&DATEDIF(A2,DATE(2024,12,31),"MD")&" days"
Cách tiếp cận này hữu ích cho lập kế hoạch nhân sự, tính toán bảo hiểm hoặc phân tích các mốc dữ liệu lịch sử.
Tính tuổi trong một năm nhất định
Khi chỉ có năm và bạn cần tính tuổi của ai đó trong năm đó, bạn có thể dùng hàm DATE() để đặt giá trị tháng và ngày:
=DATEDIF(A2,DATE(2030,12,31),"Y")
Hoặc cho tính toán giữa năm:
=DATEDIF(A2,DATE(2030,6,30),"Y")
Điều này hữu ích cho các kịch bản lập kế hoạch dài hạn, nơi không cần ngày cụ thể, chỉ cần tuổi trong một năm nhất định.
Tìm ngày một người đạt đến một độ tuổi nhất định
Để tìm ngày một người tròn một độ tuổi cụ thể (như đủ điều kiện nghỉ hưu), hãy dùng:
=DATE(YEAR(A2)+65,MONTH(A2),DAY(A2))
Công thức này cộng 65 năm vào ngày sinh của họ để tìm thời điểm họ tròn 65 tuổi. Kết quả là một giá trị ngày trong Excel hiển thị chính xác thời điểm đạt cột mốc đó.
Đối với các tình huống phức tạp hơn khi bạn cần tìm thời điểm ai đó đạt đến một độ tuổi kèm số tháng:
=DATE(YEAR(A2)+30,MONTH(A2)+6,DAY(A2))
Công thức này tìm thời điểm một người tròn 30 năm 6 tháng tuổi, hữu ích cho các điều kiện đủ tiêu chuẩn có yêu cầu cả năm và tháng.
Tô sáng tuổi dựa trên ngưỡng tuổi
Định dạng có điều kiện cung cấp cách trực quan để xác định các độ tuổi thuộc những nhóm cụ thể. Mặc dù các công thức này sẽ trả về TRUE hoặc FALSE nếu nhập trực tiếp vào ô, khi dùng trong định dạng có điều kiện, chúng sẽ tự động áp dụng kiểu định dạng bạn chọn.
Tô sáng dưới 18
Để thiết lập định dạng có điều kiện làm nổi bật các ô chứa người dưới 18 tuổi:
- Chọn phạm vi dữ liệu của bạn
- Vào Home → Conditional Formatting → New Rule
- Chọn Classic trong Style
- Chọn Use a formula to determine which cells to format
- Nhập công thức này:
=DATEDIF(A2, TODAY(), "Y")<18
6. Nhấp Format và chọn kiểu tô sáng mong muốn (màu, phông, v.v.)
Khi quy tắc này được áp dụng, Excel sẽ đánh giá công thức cho từng ô. Nếu kết quả là TRUE (người đó dưới 18 tuổi), Excel sẽ tự động áp dụng định dạng bạn đã chọn.
Tô sáng từ 18 đến 65
Để xác định những người trong độ tuổi lao động:
- Thực hiện các bước như trên
- Dùng công thức này trong quy tắc định dạng có điều kiện:
=AND(DATEDIF(A2, TODAY(), "Y")>=18, DATEDIF(A2, TODAY(), "Y")<=65)
- Chọn một kiểu định dạng khác cho nhóm này
Tô sáng trên 65
Để xác định người cao tuổi có thể đủ điều kiện hưởng chế độ hưu trí:
- Tạo một quy tắc định dạng có điều kiện khác
- Dùng công thức này:
=DATEDIF(A2, TODAY(), "Y")>65
- Áp dụng một kiểu định dạng thứ ba riêng biệt
Ưu điểm của việc dùng định dạng có điều kiện là nó hoạt động ở hậu trường - giá trị ô thực tế của bạn không thay đổi trong khi Excel áp dụng gợi ý trực quan dựa trên quy tắc của bạn.
Những điểm cần ghi nhớ
Khi tính tuổi trong Excel, hãy lưu ý những mẹo quan trọng sau:
-
Hãy dùng
DATEDIF()hoặcYEARFRAC()để có độ chính xác tối ưu.DATEDIF()được xây dựng riêng cho chênh lệch ngày, trong khiYEARFRAC()vớibasis=1tính theo ngày dương lịch thực tế. -
Hãy dùng các hàm
INT()hoặcROUNDDOWN()để tránh giá trị thập phân khi bạn cần số nguyên. Điều này đảm bảo bạn nhận được số năm đã trọn thay vì phần năm lẻ với số thập phân. -
Lưu ý năm nhuận và độ dài tháng khác nhau. Công thức cơ bản (chia cho 365) không tính đến các biến thiên này, dẫn đến sai số nhỏ theo thời gian.
-
Đảm bảo định dạng ngày tháng là chính xác. Excel cần nhận diện ngày của bạn là giá trị ngày thực, không phải văn bản. Nếu công thức cho ra kết quả không như mong đợi, hãy kiểm tra rằng ngày tháng được định dạng đúng là ngày trong Excel.
-
Với tính toán ngày tháng trong tập dữ liệu lớn, hãy cân nhắc lưu công thức của bạn dưới dạng phạm vi có tên hoặc tạo một trang tính tính toán riêng. Điều này giúp bảng tính của bạn dễ bảo trì và dễ cập nhật hơn.
-
Hãy kiểm thử phép tính tuổi bằng các ví dụ đã biết để xác minh độ chính xác. Thử tính tuổi cho người sinh vào ngày nhuận (29/02) hoặc gần ranh giới tháng để đảm bảo công thức xử lý đúng các trường hợp biên.
Kết luận
Tính tuổi trong Excel trở nên đơn giản khi bạn chọn đúng phương pháp cho nhu cầu của mình. Với các ứng dụng cơ bản, hàm DATEDIF() mang lại giải pháp gọn gàng và chính xác. Với phân tích chi tiết hơn, các công thức kết hợp có thể cung cấp phần tách chính xác theo năm, tháng và ngày.
Đối với tập dữ liệu lớn, bạn có thể tự động hóa các phép tính này bằng cách nhúng công thức vào mẫu hoặc sử dụng các công cụ nâng cao hơn của Excel như Power Query. Tự động hóa đặc biệt hữu ích cho cơ sở dữ liệu nhân sự hoặc nghiên cứu nhân khẩu học, nơi hàng nghìn bản ghi có thể cần tính tuổi.
Nếu bạn đang muốn phát triển bộ kỹ năng Excel toàn diện hơn vượt ra ngoài tính tuổi, lộ trình kỹ năng Excel Fundamentals của chúng tôi cung cấp một lộ trình học có cấu trúc, đưa bạn từ các hàm cơ bản đến kỹ thuật phân tích dữ liệu nâng cao. Bằng cách chọn đúng công thức dựa trên yêu cầu cụ thể, bạn có thể đảm bảo phép tính tuổi của mình luôn chính xác và đáng tin cậy, dù bạn cần giá trị tuổi cơ bản, phần tách chi tiết hay phân tích chuyên biệt cho các ngày và ngưỡng cụ thể.
Vinod Chugani bắt đầu sự nghiệp tại Tokyo với vai trò Trưởng bàn giao dịch bán hàng Quỹ phòng hộ trẻ nhất của JPMorgan, sau đó lập kỷ lục doanh số cá nhân tại Lehman Brothers, rồi xây dựng một doanh nghiệp phân phối điện tử tại 30 quốc gia vượt mốc doanh thu 100 triệu đô la Singapore trước khi chuyển hướng sang dữ liệu. Tốt nghiệp Kinh tế Duke và là cựu học viên NYC Data Science Academy, anh là một trong ba người nhận học bổng trong hơn 100 ứng viên cho khóa học Building AI Applications của Hugo Bowne-Anderson trên Maven. Hiện nay, anh viết cho DataCamp, KDnuggets, Machine Learning Mastery và Statology về các chủ đề từ thống kê đến AI hành động, và cố vấn cho các chuyên gia dữ liệu tại NYC Data Science Academy với hơn 1.000 buổi kèm 1-1 đã thực hiện.
FAQs
Vì sao Excel không có hàm riêng để tính tuổi?
Excel dựa vào các hàm tính toán ngày linh hoạt như DATEDIF(), YEARFRAC() và DATE() thay vì tạo các hàm chuyên biệt. Những hàm hiện có này mang lại sự linh hoạt để xử lý nhiều kịch bản tính tuổi khác nhau.
Phép tính tuổi của tôi hiển thị dưới dạng văn bản hoặc giá trị sai. Vì sao lại như vậy?
Hãy kiểm tra rằng ngày tháng của bạn được định dạng là ngày thực trong Excel, không phải văn bản. Chọn các ô, nhấp chuột phải, chọn Format Cells, và đặt về định dạng ngày phù hợp.
Các công thức tính tuổi trong Excel có xử lý đúng sinh nhật ngày 29/02 không?
Có. Cả DATEDIF() và YEARFRAC() đều xử lý đúng năm nhuận và ngày sinh 29/02. Trong năm không nhuận, Excel xem sinh nhật 29/02 là vào ngày 01/03 để tính tuổi chính xác.
Tôi có thể tạo phép tính tuổi động tự động cập nhật không?
Có. Các công thức dùng TODAY() sẽ tự động tính lại mỗi khi bạn mở bảng tính. Để có giải pháp thực sự động cập nhật ngay cả giữa các lần mở, hãy cân nhắc dùng Mô hình Dữ liệu của Excel với Power Query, có thể làm mới dữ liệu theo lịch.
Các phép tính tuổi của Excel xử lý các định dạng ngày quốc tế khác nhau như thế nào?
Excel tự động dùng thiết lập định dạng ngày của hệ thống để hiển thị, nhưng nội bộ lưu trữ ngày dưới dạng số sê-ri. Khi nhập ngày trực tiếp, hãy dùng định dạng của hệ thống (MM/DD/YYYY ở Mỹ hoặc DD/MM/YYYY ở nhiều quốc gia khác), nhưng khi dùng hàm DATE(), luôn theo thứ tự: DATE(year, month, day).
