Đề tài Hướng dẫn: Tính tuổi trong Excel bằng cách nào? trong chuyên mục Thủ Thuật Tin học tại Butnghien.com.

uocmo_kchodoi

Moderator
Excel ra đời với khả năng tính toán đã giúp đỡ con người rất nhiều trong các công việc thống kê, báo cáo, kế toán, kiểm toán... Trong đó, việc tính toán giữa các mốc thời gian nếu chỉ cùng đơn vị thì rất dễ, chỉ cần lấy mốc thời gian sau trừ đi trước nhưng nếu hai mốc thời gian có đầy đủ ngày tháng năm thì lại sinh ra nhiều vấn đề khác. Sau đây mình sẽ giới thiệu đến các bạn hàm DATEDIF để tính khoảng thời gian một cách nhanh chóng và hiệu quả.

HƯỚNG DẪN TÍNH TUỔI, TÍNH KHOẢNG THỜI GIAN GIỮA HAI MỐC THỜI GIAN

Lưu ý: Đây là hàm có sẵn trong Excel nhưng bạn phải gõ đầy đủ DATEDIF chứ nó không hiện ra List như những hàm khác. Và nó cũng không hiển thị các tham số nhưng những hàm khác. Nhưng mình sẽ hướng dẫn bạn như sau:

Chức năng: Hàm DATEDIF trả về một giá trị, là số ngày, số tháng hay số năm giữa hai khoảng thời gian theo tùy chọn.

Về cấu trúc: Hàm DATEIF có cấu trúc =DATEDIF(firstdate,enddate,option),với 3 tham số chính là:
  • Mốc thời gian bắt đầu = firstdate
  • Mốc thời gian kết thúc = enddate
  • Tùy chọn hiển thị kết quả = option
Trong đó tham số Option có thể nhận các giá trị sau
  • “d” : Hàm sẽ trả về số ngày giữa hai mốc thời gian.
  • “m” : Hàm sẽ trả về số tháng (chỉ lần phần nguyên) giữa hai mốc thời gian.
  • “y” : Hàm sẽ trả về số năm (chỉ lần phần nguyên) giữa hai mốc thời gian.
  • “yd” : Hàm sẽ trả về số ngày lẻ của năm (số ngày chưa tròn năm) giữa hai mốc thời gian.
  • “ym” : Hàm sẽ trả về số tháng lẻ của năm (số tháng chưa tròn năm) giữa hai mốc thời gian.
  • “md” : Hàm sẽ trả về số ngày lẻ của tháng (số ngày chưa tròn tháng) giữa hai mốc thời gian.
Ví dụ: giả sử mình có ngày sinh của Lê Minh Quân là 01/02/2015, giờ mình sẽ lần lượt thực hiện tính tuổi của Lê Minh Quân với các lựa chọn ở trên nhé. Mình sử dụng hàm TODAY() để lấy ra ngày tháng năm hiện tại. Đầu tiên mình thực hiện với option là “d”, mình nhập vào công thức:

=DATEDIF(B1,TODAY(),"d")



Như vậy tính đến ngày 24/06/2017, Lê Minh Quân được 874 ngày tuổi. Mình tiếp tục đến lựa chọn “m”. Mình nhập vào công thức

=DATEDIF(D5,TODAY(),"m")



Như hình trên, tính tròn theo tháng thì đến ngày 24/06/2017, tính tròn theo tháng thì Lê Minh Quân được 28 tháng tuổi. Mình sử dụng lựa chọn “y”, nhập vào công thức

=DATEDIF(D5,TODAY(),"y")



Như vậy tính đến ngày 24/06/2017, tính tròn theo tuổi thì Lê Minh Quân được 2 tuổi. Mình tiếp tục sử dụng lựa chọn “yd”, nhập vào công thức

=DATEDIF(D5,TODAY(),"yd")



Hình trên thể hiện, sau khi quy tròn theo tuổi thì Lê Minh Quân còn lẻ 143 ngày tính đến ngày 24/06/2017. Mình chuyển sang lựa chọn “ym”, nhập vào công thức

=DATEDIF(D5,TODAY(),"ym")



Điều này nghĩa là sau khi đã tính tròn theo tuổi, thì Lê Minh Quân vẫn còn lẻ 4 tháng tính đến ngày 24/06/2017. Mình chuyển sang lựa chọn cuối cùng là “md”, nhập vào công thức

=DATEDIF(D5,TODAY(),"md")



Như vậy, sau khi đã tính tròn theo tháng thì Lê Minh Quân còn lẻ 23 ngày tính đến ngày 24/06/2017

Cũng khá dễ đúng không các bạn. Trường hợp muốn tính chi tiết một ai đó được bao nhiêu tuổi, bao nhiêu tháng, bao nhiêu ngày, chúng ta chỉ cần kết hợp kết quả của các lựa chọn như đã giới thiệu ở trên là được. Vẫn với ví dụ trên, mình muốn ở ô E5 cho ra tuổi chính xác của Lê Minh Quân tính đến ngày 26/04/2017 mình sử dụng công thức sau

=DATEDIF(D5,TODAY(),"y")&"tuổi"&DATEDIF(D5,TODAY(),"ym")&" tháng "&DATEDIF(D5,TODAY(),"md")&" ngày"



Tuy nhiên công thức trên nếu trường hợp chưa đủ năm hoặc số tháng sau khi đã làm tròn năm hoặc số ngày sau khi đã làm tròn tháng = 0 thì kết quả nhìn hơi vô duyên ví dụ như:

  • 0 tuổi 0 tháng 8 ngày
  • 0 tuổi 3 tháng 9 ngày
  • 1 tuổi 0 tháng 3 ngày
  • 1 tuổi 9 tháng 0 ngày
  • 1 tuổi 0 tháng 0 ngày
Để khắc phục tình trạng này, mình sử dụng công thức tổng quát sau

=IF(DATEDIF(D5,TODAY(),"y")=0,"",DATEDIF(D5,TODAY(),"y")&"tuổi")&IF(DATEDIF(D5,TODAY(),"ym")=0,"",DATEDIF(D5,TODAY(),"ym")&"tháng")&IF(DATEDIF(D5,TODAY(),"md")=0,"",DATEDIF(D5,TODAY(),"md")&" ngày")

Lưu ý: Trong công thức trên các bạn cần thay thế TODAY() bằng mốc thời gian của các bạn nhé.

Chúc các bạn thành công!
 

Bài Trước

VBA là gì? Hướng dẫn chạy code VBA và cách thêm các Add-Ins trong Excel

Bài Tiếp

Hướng dẫn: Làm thế nào để tạo 1 công thức cho nhiều Sheet?
Shoutbox
  1. Khoai Khoai:
    1~1 kkkk
  2. DienDanKienThuc DienDanKienThuc:
    :)) Chel không thắng thì khủng hoảng à ?
  3. Hoa Sam Quoc Hoa Sam Quoc:
    Tuyến giữa củng cố rồi, Chel sẽ ăn được 2 đến 3 quả đấy không đùa.
  4. H hello69:
    Hnay, Chelsea sẽ ăn hành tiếp :))
  5. Khoai Khoai:
    2 - 1 cho Ars
  6. Khoai Khoai:
    Arsenal bị gỡ hòa 1 - 1 ngay trong hiệp 1 ^^
  7. Hoa Sam Quoc Hoa Sam Quoc:
    Thứ 7 vui
  8. Q quatangvietbookkd14:
    I like it
  9. Hide Nguyễn Hide Nguyễn:
    Shoutbox has been pruned!

Thống kê diễn đàn

Chủ đề
62,622
Bài viết
166,438
Thành viên
312,711
Thành viên mới nhất
huongvfa
Top