Diễn đàn giaiphapexcel.com sẽ chuyển sang hoạt động ở link sau

http://www.giaiphapexcel.com/diendan/forums


[CLICK] học VBA ở Đà Nẵng tháng 5/2017


Trang 1/3 1 2 3 cuốicuối
Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 28

Ðề tài: Công thức tính tuổi

  1. Xin hỏi các bác là có cách nào tính được tuổi của nhân viên từ ngày tháng năm sinh của họ không a ?

  2. Trích Nguyên văn bởi hiepsisanco
    Xin hỏi các bác là có cách nào tính được tuổi của nhân viên từ ngày tháng năm sinh của họ không a ?
    Bạn dùng hàm DATEDIF.
    Để tìm hiểu hàm này, bạn Search trên GPE có nhiều bài hướng dẫn.

    TDN

  3. Trích Nguyên văn bởi hiepsisanco
    Xin hỏi các bác là có cách nào tính được tuổi của nhân viên từ ngày tháng năm sinh của họ không a ?
    Bạn sử dụng hàm year để trích năm sinh và năm hiện tại, ví dụ

    Giả định:
    + ô B3 chứa ngày sinh của NV
    + ô C3 là ngày hiện thời (bạn có thể dùng hàm =now() )
    + ô D3 chứa tuổi
    thì: tại D3 bạn gõ công thức sau: = Year(C3)-Year(B3)

    chú ý: phải định dạng lại cách hiện thị của ô D3 bằng cách: vào Format\ Format cell -> tab number chọn General hoặc Number, để ô hiện đúng số tuổi (ko bình thường có định dạng ngày)


    chúc thành công

  4. Talking

    Trích Nguyên văn bởi tigertiger
    Bạn sử dụng hàm year để trích năm sinh và năm hiện tại, ví dụ Giả định:
    + ô B3 chứa ngày sinh của NV
    + ô C3 là ngày hiện thời (bạn có thể dùng hàm =now() )
    + ô D3 chứa tuổi
    thì: tại D3 bạn gõ công thức sau: = Year(C3)-Year(B3)
    Bạn tính tuổi ta hay tuổi tây vậy?
    Đùa chút thôi; nhưng xét 2 trường hợp sau đây thì sai số quá to:
    Giả dụ tôi có thằng cháu ngoại sinh 31/12/2003 vậy sang 1 ngày nó đã được 1 tuổi?
    Ngược lại, cô bạn hàng xóm sinh thằng cu sau cháu tôi 1 ngày; từ đó đến cuối năm nó chưa có tuổi nào?

    Hồi xưa tôi thấy có người dùng công thức sau
    =INT((TODAY() -[NgaySinh])/365.25)
    Xin các bạn cho í kiến!

    (hào tất cả mọi người!

  5. oh đúng thế, có lẽ dùng hàm Datedif là hợp lý, và tính chính xác đến tuổi, tháng, ngày luôn - (nếu tính chính xác đến đâu thì bỏ các thành phần ko cần đi)

    + ô B3 chứa ngày sinh của NV
    + thì công thức ở ô tính tuổi như sau: =DATEDIF(B3,NOW(),"y")&"tuổi, "&DATEDIF(B3,NOW(),"ym")&"tháng, "&DATEDIF(B3,NOW(),"md")&"ngày"
    thay đổi nội dung bởi: tigertiger, 15-11-07 lúc 02:46 PM

  6. nhưng cột tuổi phải để định dạng là number đúng ko ạ?

  7. #7

    Smile

    Trích Nguyên văn bởi ngocsonhb View Post
    nhưng cột tuổi phải để định dạng là number đúng ko ạ?
    Không cần thiết đâu bạn, khi nào kết quả không đúng mình mới định dạng thôi!
    Có thể định dạng là General là được rồi!
    Hàm DATEDIF() công nhận hay thiệt nhưng nếu không sử dụng hàm này thì dùng công thức khác, bạn nào có gởi lên nhé!
    Thân chào!

  8. Mình cũng góp vui công thức đơn giản, để tặng quà sinh nhật trong Cty.
    Tập tin đính kèm Tập tin đính kèm

  9. Nếu dùng code thì code sau:

    Code:
    Function TinhTuoi(startdate As Date, EndDate As Date) As String
    '?tinhtuoi(#15/06/1977#, #12/09/2009#)
    'Ban duoc 32 tuoi 5 thang 24 ngay.
    Dim intHold As Integer
    Dim dayHold As Integer
       intHold = Int(DateDiff("m", startdate, EndDate)) + _
                 (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(startdate)))
       If Day(EndDate) < Day(startdate) Then
          dayHold = DateDiff("d", startdate, DateSerial(Year(startdate), Month(startdate) + 1, 0)) + Day(EndDate)
       Else
          dayHold = Day(EndDate) - Day(startdate)
       End If
       
       TinhTuoi = "Ban duoc " & Int(intHold / 12) & " tuoi " & intHold Mod 12 & " thang " _
                 & LTrim(Str(dayHold)) & " ngay."
    End Function
    Cú pháp: =TinhTuoi(startdate As Date, EndDate As Date)
    - startdate As Date: Ngày sinh
    - EndDate As Date: Đến ngày muốn tính

    Ví dụ: Ngày sinh ở cell A1 là 15/06/1977, tôi muốn tính đến ngày ở cell A2 là 12/09/2009 thì tính như sau.
    =TinhTuoi(A1, A2) => kết quả là Ban duoc 32 tuoi 5 thang 24 ngay.

    Xem thêm file đính kèm nhé

    Tập tin đính kèm Tập tin đính kèm

  10. Nhập ngày tháng năm sinh của 1 người vào ô C4. Khi đó ô D4 thể hiện tuổi của người đó được tính theo công thức sau:
    D4=IF(VALUE(MONTH(TODAY())&IF(DAY(TODAY())<10,"0"& DAY(TODAY()),DAY(TODAY())))>=VALUE(MONTH(C4)&IF(DA Y(C4)<10,"0"&DAY(C4),DAY(C4))),YEAR(TODAY())-YEAR(C4),YEAR(TODAY())-YEAR(C4)-1)
    Cái này em mới nghĩ ra và đã test thử thấy rất chính xác, mong mọi người góp ý thêm!

Trang 1/3 1 2 3 cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •