SỰ NGHIỆP

Hỏi công thức tính thâm niên công tác bằng Exel

Đến trả lời mới nhất
  • 0 Lượt chia sẻ
  • 12.7K Lượt đọc
  • 28 Trả lời

  • Trang 1/2

    Chuyển tới trang

  • 1
  • 2

Theo dõi Webtretho

Luôn tự hào là nguồn thông tin và kiến thức đáng tin cậy dành cho phụ nữ trưởng thành
f | Chia sẻ bài viết
    • 60 Bài viết

    • 3 Được cảm ơn

    #1
    :Thinking: :Thinking: :Thinking: :Sigh: :Sigh: :Sigh:

    Chào các bạn,

    Sếp yêu cầu mình lập danh sách nhân viên công ty và tính thâm niên công tác tới thời điểm hiện tại (bao nhiêu năm, bao nhiêu tháng, bao nhiêu ngày), mình loay hoay bữa giờ vẫn chưa làm được. Bạn nào giỏi exel, vui lòng giúp mình với. Rất cám ơn!
  1. Đọc tiếp trên Webtretho

    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #2

    Bạn cần tính đến ngày, tháng, hay năm
    Đơn giản nhất là dùng phép trừ rồi định dạng cho Hợp lý
    Ăn được, ngủ được là Tiên
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #3
    Giả sử tại ô E5 là ngày đi làm, E6 chứa hàm =TODAY() (Chứa ngày hiện tại)
    Ô cần tính nhập vào (copy & paste)
    =YEAR(E6-E5)-1900 & " năm " & MONTH(E6-E5) & " tháng " & DAY(E6-E5) & " ngày"
    Nó sẽ ra chính xác bao nhiêu năm, bao nhiêu tháng, bao nhiêu ngày
    Ăn được, ngủ được là Tiên
    • 289 Bài viết

    • 103 Được cảm ơn

    #4
    Mình không rành vụ này, nhưng cũng xôi chõ một chút :Laughing:. Bạn thử vào 2 diễn đàn dưới đây để tìm, khả quan lắm:
    www.webketoan.com -> của dân accountant
    www.giaiphapexcel.com -> của dân exceler
    Chúc may mắn
    Nếu ngày ấy em không đi về phía anh, không gặp nhau, giờ này ta thế nào !?
    • 60 Bài viết

    • 3 Được cảm ơn

    #5
    Trích dẫn Nguyên văn bởi hungvd Xem bài viết
    Giả sử tại ô E5 là ngày đi làm, E6 chứa hàm =TODAY() (Chứa ngày hiện tại)
    Ô cần tính nhập vào (copy & paste)


    Nó sẽ ra chính xác bao nhiêu năm, bao nhiêu tháng, bao nhiêu ngày
    Mình thử làm như bạn rồi, kết quả chưa chính xác, có cách nào khác không bạn ?
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #6
    Trích dẫn Nguyên văn bởi H123 Xem bài viết
    Mình thử làm như bạn rồi, kết quả chưa chính xác, có cách nào khác không bạn ?
    Bạn muốn thế nào ?
    Ví dụ, đi làm từ ngày 10/10/2003, tính đến đến 17/7/2008 bạn muốn hiện ra kết quả như thế nào ?
    Ăn được, ngủ được là Tiên
    • 60 Bài viết

    • 3 Được cảm ơn

    #7
    Trích dẫn Nguyên văn bởi hungvd Xem bài viết
    Bạn muốn thế nào ?
    Ví dụ, đi làm từ ngày 10/10/2003, tính đến đến 17/7/2008 bạn muốn hiện ra kết quả như thế nào ?
    Với ví dụ này, mình tính ra kết quả là: 4 năm, chín tháng, bảy ngày nhưng nếu ráp theo công thức bạn hướng dẫn thì kết quả sẽ dư 1 tháng (Mình chỉ tính làm hết ngày 16/07/2008 thôi).
    Ví dụ khác: ngày gia nhập công ty là 09/07/2008 tính đến 17/07/2008 thì được 8 ngày nhưng theo công thức của bạn thì lại được 1 tháng, 8 ngày (Lại dư 1 tháng).
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #8
    Nếu bạn để ý công thức thì rất dễ sửa
    Đây ạ:
    =YEAR(E6-E5)-1900 & " năm " & MONTH(E6-E5)-1 & " tháng " & DAY(E6-E5) & " ngày"
    Nếu muốn sửa công thức để bỏ những cái kiểu như "0 năm" "0 tháng" thì dùng hàm if nhé
    Ăn được, ngủ được là Tiên
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #9
    Công thức cắt "0 năm", "0 tháng" đây.
    =IF(YEAR(E6-E5)-1900>0,YEAR(E6-E5)-1900 & " năm ","") & IF(MONTH(E6-E5)-1>0,MONTH(E6-E5)-1 & " tháng ","") & DAY(E6-E5) & " ngày"
    Nhưng để 0 năm 0 tháng X ngày có vẻ chuyên nghiệp hơn, vì có độ tin cậy cao.
    Ăn được, ngủ được là Tiên
    • 60 Bài viết

    • 3 Được cảm ơn

    #10
    Trích dẫn Nguyên văn bởi hungvd Xem bài viết
    Công thức cắt "0 năm", "0 tháng" đây.

    Nhưng để 0 năm 0 tháng X ngày có vẻ chuyên nghiệp hơn, vì có độ tin cậy cao.
    Thật ra, khi thấy kết quả dư 1 tháng, mình đã thêm -1 vào rồi. Tuy nhiên, vẫn có trường hợp lệch. Vd: Với ngày gia nhập là 09/06/2008 sẽ cho kết quả 1 tháng, 7 ngày (Thiếu 1 ngày).
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #11
    17/7 - 9/6 = 38 ngày
    Bạn phát hiện khá chính xác, nhưng không hiểu thằng Excel nó trừ thế nào trong cái hàm của nó lại trả về là 38 ngày tính ra là 1 tháng + 7 ngày
    Vậy 1 tháng trong trường hợp này được tính là 31 ngày ?

    Kiểm tra lại trường hợp từ 17/7/2007 đến 17/7/2008 nó tính ra 11 tháng 31 ngày chứ không fải là 1 năm, hay 12 tháng.
    Để mình thử hàm DateDiff xem nó có gặp sai lầm tương tự không.
    Ăn được, ngủ được là Tiên
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #12
    Introduction To The DATEDIF Function

    The DATEDIF function computes the difference between two dates in a variety of different intervals, such number of years, months, or days. This function is available in all versions of Excel since at least version 5/95, but is documented in the help file only for Excel 2000. For some reason, Microsoft has decided not to document this function in any other versions. DATEDIF is treated as the drunk cousin of the Formula family. Excel knows it lives a happy and useful life, but will not speak of it in polite conversation. Do not confuse the DATEDIF worksheet function with the DateDiff VBA function.

    The syntax for DATEDIF is as follows:

    =DATEDIF(Date1, Date2, Interval)

    Where:
    Date1 is the first date,
    Date2 is the second date,
    Interval is the interval type to return.

    If Date1 is later than Date2, DATEDIF will return a #NUM! error. If either Date1 or Date2 is not a valid date, DATEDIF will return a #VALUE error.
    The Interval value should be one of

    Interval Meaning Description
    m Months Complete calendar months between the dates.
    d Days Number of days between the dates.
    y Years Complete calendar years between the dates.
    ym Months Excluding Years Complete calendar months between the dates as if they were of the same year.
    yd Days Excluding Years Complete calendar days between the dates as if they were of the same year.
    md Days Excluding Years And Months Complete calendar days between the dates as if they were of the same month and same year.

    If Interval is not one of the items listed in above, DATEDIF will return a #NUM error.

    If you are including the Interval string directly within the formula, you must enclose it in double quotes:

    =DATEDIF(Date1,Date2,"m")

    If you have the interval in another cell referenced by the formula, that cell should not have quotes around the interval string. For example, with the formula

    =DATEDIF(Date1,Date2,A1)

    cell A1 should contain m not "m".



    Examples

    The follow are some examples of the DATEDIF function.

    Date1: 1-Jan-2007
    Date2: 10-Jan-2007
    Interval: d
    Result: 9
    Explanation:
    There are 9, not 10, calendar days between these two dates.

    Date1: 1-Jan-2007
    Date2: 31-Jan-2007
    Interval: m
    Result: 0
    Explanation:
    There 0 complete calendar months between the two dates.

    Date1: 1-Jan-2007
    Date2: 1-Feb-2007
    Interval: m
    Result: 1
    Explanation:
    There are 1 complete months between the two dates.

    Date1: 1-Jan-2007
    Date2: 28-Feb-2007
    Interval: m
    Result: 1
    Explanation:
    There are 1 complete months between the two dates.

    Date1: 1-Jan-2007
    Date2: 31-Dec-2007
    Interval: d
    Result: 364
    Explanation:
    There are 364 days between the two dates.

    Date1: 1-Jan-2007
    Date2: 31-Jan-2007
    Interval: y
    Result: 0
    Explanation:
    There are 0 complete years between the dates

    Date1: 1-Jan-2007
    Date2: 1-July-2008
    Interval: d
    Result: 547
    Explanation:
    There are 547 days between the two dates.

    Date1: 1-Jan-2007
    Date2: 1-July-2008
    Interval: m
    Result: 18
    Explanation:
    There are 18 months between the two dates.

    Date1: 1-Jan-2007
    Date2: 1-July-2008
    Interval: ym
    Result: 6
    Explanation:
    There are 6 months between the two dates if the dates are considered to have the same year. The year it taken from Date1, not Date2. This makes a difference when one year is a leap year. Since 2007 is not a leap year, 29-Feb is not counted. See DATEDIF And Leap Years below.

    Date1: 1-Jan-2007
    Date2: 1-July-2008
    Interval: yd
    Result: 181
    Explanation:
    There are 181 days between the dates if the dates are considered to have the same year. The year it taken from Date1, not Date2. This makes a difference when one year is a leap year. Since 2007 is not a leap year, 29-Feb is not counted. See DATEDIF And Leap Years below.

    Date1: 1-Jan-2008
    Date2: 1-July-2009
    Interval: yd
    Result: 182
    Explanation:
    There are 182 days between the dates if the dates are considered to have the same year. This result is 182 not 181 since Date1 is a leap year and thus 29-Feb is counted.

    Date1: 1-Jan-2007
    Date2: 31-Jul-2007
    Interval: md
    Result: 30
    Explanation:
    There are 30 days between the 1st and 31st of the dates when both dates' month and years are considered to be the same.




    DATEDIF And Leap Years

    When calculating date intervals, DATEDIF uses the year of Date1, not Date2 when calculating the yd, ym and md intervals. For example,

    =DATEDIF(Date1,Date2,"md")

    returns 28 for Date1 = 1-Feb-2007 and Date2 = 1-March-2009. Since Date1 is not a leap year, the date 29-Feb is not counted. But the same formula with Date1 = 1-Feb-2008 returns 29, since Date1 is a leap year and therefore the date 29-Feb is counted.



    Calculating Age

    You can use the DATEDIF to calculate a person's age. For example, the formula below will calculate the age of a person as of the current date, where BirthDate is the person's date of birth.

    =DATEDIF(BirthDate,TODAY(),"y")&" years "&DATEDIF(BirthDate,TODAY(),"ym")&" months "&DATEDIF(BirthDate,TODAY(),"md")&" days"
    Ăn được, ngủ được là Tiên
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #13
    =DATEDIF(E5,TODAY(),"y")&" năm "&DATEDIF(E5,TODAY(),"ym")&" tháng "&DATEDIF(E5,TODAY(),"md")&" ngày"
    Cái này (công thức cuối cùng trong bài trước) thì trả lại giống như bạn muốn
    9/6 - 17/7 là 1 tháng 8 ngày, bạn tùy ý dùng cái nào thì tùy
    Ăn được, ngủ được là Tiên
    • 60 Bài viết

    • 3 Được cảm ơn

    #14
    Trích dẫn Nguyên văn bởi hungvd Xem bài viết
    Cái này (công thức cuối cùng trong bài trước) thì trả lại giống như bạn muốn
    9/6 - 17/7 là 1 tháng 8 ngày, bạn tùy ý dùng cái nào thì tùy
    Ổn rồi, cám ơn bạn nhiều lắm !
    • 218 Bài viết

    • 11 Được cảm ơn

    #15
    Quá tuyệt vời, cái này mình đã hỏi rất nhiều người từ rất lâu rồi mà ko có câu trả lời thỏa đáng. Cảm ơn cả hai bạn nhé!
    • 76 Bài viết

    • 5 Được cảm ơn

    #16
    Trích dẫn Nguyên văn bởi hungvd Xem bài viết
    Cái này (công thức cuối cùng trong bài trước) thì trả lại giống như bạn muốn
    9/6 - 17/7 là 1 tháng 8 ngày, bạn tùy ý dùng cái nào thì tùy
    Cảm ơn bạn Hungvd nhiều lắm, tuy nhiên tôi có điều này muốn nhờ bạn giúp đỡ. Với công thức này tôi cop nguyên đặt vào trong exel 2003 máy tính ở nhà thì tự nó hiện lên ngày tháng năm. Nhưng với máy ở cơ quan nếu cop nguyên thì nó hiện lên như 1 dòng text ko hiển thị giá trị, tôi xoá dấu = đi và đánh dấu = vào thì lại báo lỗi công thức. Tôi nghĩ có 1 chức năng nào đó trong exel của máy cơ quan đã bị tắt đi, nhưng tôi ko biết như thế nào. Nếu bạn biết làm ơn chỉ dùm tôi với. cảm ơn bạn nhiều
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #17
    Trích dẫn Nguyên văn bởi BoNhim_thutrang Xem bài viết
    Cảm ơn bạn Hungvd nhiều lắm, tuy nhiên tôi có điều này muốn nhờ bạn giúp đỡ. Với công thức này tôi cop nguyên đặt vào trong exel 2003 máy tính ở nhà thì tự nó hiện lên ngày tháng năm. Nhưng với máy ở cơ quan nếu cop nguyên thì nó hiện lên như 1 dòng text ko hiển thị giá trị, tôi xoá dấu = đi và đánh dấu = vào thì lại báo lỗi công thức. Tôi nghĩ có 1 chức năng nào đó trong exel của máy cơ quan đã bị tắt đi, nhưng tôi ko biết như thế nào. Nếu bạn biết làm ơn chỉ dùm tôi với. cảm ơn bạn nhiều
    Anh có thể nói cụ thể về lỗi khi sử dụng công thức nào không ?

    =DATEDIF(E5,TODAY(),"y") & " năm " & DATEDIF(E5,TODAY(),"ym") & " tháng " & DATEDIF(E5,TODAY(),"md") & " ngày"
    Anh thử copy & paste công thức trên vào xem có được không nhé (giãn 1 số dấu cách quanh các toán tử &
    Ăn được, ngủ được là Tiên
    • 623 Bài viết

    • 1,011 Được cảm ơn

    #18
    Trích dẫn Nguyên văn bởi hungvd Xem bài viết
    Cái này (công thức cuối cùng trong bài trước) thì trả lại giống như bạn muốn
    9/6 - 17/7 là 1 tháng 8 ngày, bạn tùy ý dùng cái nào thì tùy
    :LoveStruc: bác Hungvd quá. Cảm ơn bác rất nhiều. :Rose: :Rose: :Rose:
    • 76 Bài viết

    • 5 Được cảm ơn

    #19
    Anh thử copy & paste công thức trên vào xem có được không nhé (giãn 1 số dấu cách quanh các toán tử &[/quote]

    Mình copy cung 1 công thức của bạn vào 1 máy ở nhà (thì đặt vào exel là ok ngay) còn máy ở cơ quan thì nếu copy nguyên cả dấu = thì nó hiện nguyên trong ô như sau:=DATEDIF(E5,TODAY(),"y") & " năm " & DATEDIF(E5,TODAY(),"ym") & " tháng " & DATEDIF(E5,TODAY(),"md") & " ngày". còn nếu đặt dấu = lại thì báo "the formule you typed contains an error: + For information about fixing common formula problems, click Help.
    + To get assistance in entering a function, click OK, then click Function on Insert menu.
    + If you are not trying to enter a formula, avoid using an equal sign (=), or minus sign (-), or precede it with a single quotation mark (').
    ko biết báo lỗi thế nào nữa. Có gì nhờ bạn giúp đỡ với mình rất cần công thức này. Một lần nữa cảm ơn bạn
    • 12,365 Bài viết

    • 16,076 Được cảm ơn

    #20
    Có thể máy ở cty, ai đó đã cài đặt dấu phân cách (Seperator) không phải là dấu phẩy "," mà có thể là dấu chấm phẩy ";".
    Để check cái này, dùng Regional and Language Option trong Contrl panel
    Trong Regional Options, bấm Customize rồi kiểm tra mục List Seperator.

    Nếu "nó" không phải dấu phẩy, thì hoặc sửa lại nó thành dấu phẩy hoặc sửa các dấu phẩy trong công thức thành "nó".
    Ăn được, ngủ được là Tiên
  • Trang 1/2

    Chuyển tới trang

  • 1
  • 2