Hàm DATEDIF trong Excel 2016 (1 người xem)

  • Thread starter Thread starter nhoa18
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

nhoa18

Thành viên mới
Tham gia
4/12/08
Bài viết
33
Được thích
15
Bất ngờ quá: Excel 2016 không sử dụng được hàm này:
=DATEDIF("10/1/2009","12/11/2009","d")
Các phiên bản trước sử dụng bình thường
Có ai biết các khắc phục không nhĩ?
 
Bất ngờ quá: Excel 2016 không sử dụng được hàm này:
=DATEDIF("10/1/2009","12/11/2009","d")
Các phiên bản trước sử dụng bình thường
Có ai biết các khắc phục không nhĩ?
Mình ko dùng 2016, nhưng mình nghĩ ko phải do excel mà là do công thức của bạn, Cái trong "" là text chứ đâu là date, mà định dạng date mỗi máy khác nhau, bạn viết thế ko đúng rùi.
thử ct sau: =DATEDIF(date(2009,1,10),date(2009,11,2),"d")
 
Bất ngờ quá: Excel 2016 không sử dụng được hàm này:
=DATEDIF("10/1/2009","12/11/2009","d")
Các phiên bản trước sử dụng bình thường
Có ai biết các khắc phục không nhĩ?
Ai nói là không sử dụng được . tôi copy công thức của bạn và kết quả là file đính kèm
 

File đính kèm

  • datedif.jpg
    datedif.jpg
    44.1 KB · Đọc: 159
Bất ngờ quá: Excel 2016 không sử dụng được hàm này:
=DATEDIF("10/1/2009","12/11/2009","d")
Các phiên bản trước sử dụng bình thường
Có ai biết các khắc phục không nhĩ?

được bạn ơi, như Lê Duy Thương, tôi cũng đã copy y chang công thức của bạn vào excel 2016 cho ra kết quả bình thường, không báo lỗi gì hết
 
của mình office 2016 cũng không có hàm DATEDIF
Bác nào bị lỗi tương tự. giúp mình với
 

File đính kèm

  • khong co ham datedif.png
    khong co ham datedif.png
    104.9 KB · Đọc: 49
của mình office 2016 cũng không có hàm DATEDIF
Bác nào bị lỗi tương tự. giúp mình với
Cũng: ai cũng vậy hết. Không chỉ riêng 2016. Không chỉ riêng mình bạn.
Lỗi: ai bảo đấy là lỗi.
Giúp: thì cứ xài đi, không được rồi hãy hỏi tiếp.
 
của mình office 2016 cũng không có hàm DATEDIF
Bác nào bị lỗi tương tự. giúp mình với
Đây là một dạng hàm ẩn nên sẽ không có gợi ý như những hàm thông thường khác. Tuy nhiên bạn cứ gõ đúng cú pháp thì sẽ có kết quả
 
Đây là một dạng hàm ẩn nên sẽ không có gợi ý như những hàm thông thường khác. Tuy nhiên bạn cứ gõ đúng cú pháp thì sẽ có kết quả
anh S.M nói đúng ạ, em không thấy có gợi ý như các hàm khác nhưng viết đúng công thức là có thể dùng được ạ. Cảm ơn các anh/chị nhé, em tính được cái thâm niên qua hàm này rồi !
 
Cứ lâu lâu lại phải đính chính.
DATEDIF vốn là hàm của Lotus123, được Excel hổ trợ chứ không phải chính thức là hàm bản quyền của MicroSoft.
Khi MS mua Lotus123 thì hợp đồng cho phép họ hổ trợ chứ không được phát triển hàm. Vì vậy, họ không thể có chỉ dẫn gì cả.
 
Chào các bác,
Kính nhờ các bác xem giúp hàm DATEDIF em làm sai ở chỗ nào với ạ.
Em mới về làm mà đã được giao ôm mớ quyết toán thuế TNCN từ năm 2016 đến nay
Phần thâm niên công tác, trong bảng lương kế toán cũ chỉ ghi nhận thời gian vào của nhân viên theo tháng (tháng-năm) chứ không ghi nhận ngày vào chính xác (ngày -tháng -năm). nên em đang phải tính lại.
Có mấy người tính đang bị lệch quá mà em không biết sai ở chỗ nào.
Kính nhờ các bác chỉ giáo ạ.
Em cảm ơn!
 

File đính kèm

Có mấy người tính đang bị lệch quá mà em không biết sai ở chỗ nào.
Công thức của bạn không sai, nó như sau:

=ROUND(DATEDIF(C6,$D$3-1,"ym")/12+DATEDIF(C6,$D$3+1,"y"),0)

DateDif "ym" luôn luôn nhỏ hơn 12, bạn chia cho 12 thì luôn luôn nhỏ hơn 1, bạn làm tròn thì hoặc là nó biến mất như chưa từng tính hoặc là nó trở thành 1 năm. Hiểu theo nghĩa "nhân sự" thì từ 6 tháng trở lên tính là 1 năm, từ 5 tháng trở xuống thì bỏ.

Ô D6 chẳng hạn đang bằng 25, mà từ 1995 đến 2016 chỉ có 20 năm và 3 tháng (tính nhẩm hoặc tính bằng DateDif) thì bạn biết ai sai rồi chứ?
 
Tôi góp ý 1 vài chỗ nha:

Thứ nhất:
Phần thâm niên công tác, trong bảng lương kế toán cũ chỉ ghi nhận thời gian vào của nhân viên theo tháng (tháng-năm) chứ không ghi nhận ngày vào chính xác (ngày -tháng -năm). nên em đang phải tính lại.
Theo tôi nếu không biết chính xác ngày thì bạn có thể xem nó là ngày 01/ tháng năm của mỗi người được không?

1/ Nếu được thì bạn chỉnh lại và lưu vào cột CF (ghi chú) như file kèm.
2/ Bạn đang dò lại bắt đầu từ Tháng 01/2016 phải không? Thay vì ghi "Tháng 1" bạn gõ thẳng là 01/01/2016 vào ô CG4, rồi vào Format Cell định dạng lại thành: "Tháng "mm. (Tôi đã chỉnh ngày như vậy, nhưng tiếc là tôi xài excel trên ĐTDĐ nên không định dạng cho bạn được, bạn tự làm nha), tương tự cho các tháng 2,3...phía sau.

Thứ hai:
xem giúp hàm DATEDIF em làm sai ở chỗ nào với ạ.
=ROUND(DATEDIF(C6,$D$3-1,"ym")/12+DATEDIF(C6,$D$3+1,"y"),0)

D3 chứa ngày 01/01/2016, trừ 1 tức là bạn muốn nó thành 31/12/2015, còn +1 nó thành ngày 02/01/2016. Bạn có thấy trừ 1 thì còn có lý, chứ +1 thì không có lý do nào hết và dùng nó để tính toán thì chẳng có tác dụng gì cả! Phải vậy không? Theo tôi hiểu: ý của bạn là nếu là (tính đến) Tháng 01, ngầm hiểu là trọn Tháng 1, tức tính từ 'ngày bắt đầu làm việc' đến hết 31/01/2016, phải vậy không? Nếu đúng thì bạn cứ dùng hàm EDATE(...,1) chuyển nó qua thành ngày 01 tháng sau là xong, tương tự cho các tháng còn lại. Việc chỉnh về ngày 01 sẽ giúp cho hàm DATEDIF() tính toán chính xác hơn.

Vd: Ô C6= "9/1990", chỉnh thành CF6= 01/09/1990, tính đến 31/01/2016 (tính tay) gồm: đến 31/08/2015 là 25 năm, từ 01/09/2015 đến 31/01/2016 là 5 tháng, vì chưa đủ 6 tháng chỉ tính là 25 năm.

Công thức sẽ là (tôi gom gọn lại): ô CG6, với CG4= 01/01/2016 (chỉnh như trên góp ý)
Mã:
=ROUND(SUM(DATEDIF($CF6,EDATE(CG$4,1),{"y","ym"})/{1,12}),0)

Tôi có tạo thêm các cột tính ra bao nhiêu năm và tháng theo từng tháng 1,2,3 để bạn tham khảo thêm.

Sau cùng:
Nhìn công thức thấy quen quen :)

Tôi có chỉnh (cập nhật) lại cho bạn (tại cột CD), ô CD6 dán:
Mã:
=SUM(TEXT(CC6-{0,5,10,18,32,52,80}*12*10^6,"[<0]\0")*5%)

Bạn tham khảo file kèm

Thân
 

File đính kèm

Tôi góp ý 1 vài chỗ nha:

Thứ nhất:

Theo tôi nếu không biết chính xác ngày thì bạn có thể xem nó là ngày 01/ tháng năm của mỗi người được không?

1/ Nếu được thì bạn chỉnh lại và lưu vào cột CF (ghi chú) như file kèm.
2/ Bạn đang dò lại bắt đầu từ Tháng 01/2016 phải không? Thay vì ghi "Tháng 1" bạn gõ thẳng là 01/01/2016 vào ô CG4, rồi vào Format Cell định dạng lại thành: "Tháng "mm. (Tôi đã chỉnh ngày như vậy, nhưng tiếc là tôi xài excel trên ĐTDĐ nên không định dạng cho bạn được, bạn tự làm nha), tương tự cho các tháng 2,3...phía sau.

Thứ hai:

=ROUND(DATEDIF(C6,$D$3-1,"ym")/12+DATEDIF(C6,$D$3+1,"y"),0)

D3 chứa ngày 01/01/2016, trừ 1 tức là bạn muốn nó thành 31/12/2015, còn +1 nó thành ngày 02/01/2016. Bạn có thấy trừ 1 thì còn có lý, chứ +1 thì không có lý do nào hết và dùng nó để tính toán thì chẳng có tác dụng gì cả! Phải vậy không? Theo tôi hiểu: ý của bạn là nếu là (tính đến) Tháng 01, ngầm hiểu là trọn Tháng 1, tức tính từ 'ngày bắt đầu làm việc' đến hết 31/01/2016, phải vậy không? Nếu đúng thì bạn cứ dùng hàm EDATE(...,1) chuyển nó qua thành ngày 01 tháng sau là xong, tương tự cho các tháng còn lại. Việc chỉnh về ngày 01 sẽ giúp cho hàm DATEDIF() tính toán chính xác hơn.

Vd: Ô C6= "9/1990", chỉnh thành CF6= 01/09/1990, tính đến 31/01/2016 (tính tay) gồm: đến 31/08/2015 là 25 năm, từ 01/09/2015 đến 31/01/2016 là 5 tháng, vì chưa đủ 6 tháng chỉ tính là 25 năm.

Công thức sẽ là (tôi gom gọn lại): ô CG6, với CG4= 01/01/2016 (chỉnh như trên góp ý)
Mã:
=ROUND(SUM(DATEDIF($CF6,EDATE(CG$4,1),{"y","ym"})/{1,12}),0)

Tôi có tạo thêm các cột tính ra bao nhiêu năm và tháng theo từng tháng 1,2,3 để bạn tham khảo thêm.

Sau cùng:

Nhìn công thức thấy quen quen :)

Tôi có chỉnh (cập nhật) lại cho bạn (tại cột CD), ô CD6 dán:
Mã:
=SUM(TEXT(CC6-{0,5,10,18,32,52,80}*12*10^6,"[<0]\0")*5%)

Bạn tham khảo file kèm

Thân
Dạ, em cảm ơn bác ptm0412 và bác Hiêp a.
Thời gian tính thâm niên trong các báo cáo cũ này em cũng đang đợi kế toán cũ phản hồi lại, vì có nhiều người thời gian lệch tới mấy năm trong khi họ đóng liền không nghỉ.
 
Theo tôi nếu không biết chính xác ngày thì bạn có thể xem nó là ngày 01/ tháng năm của mỗi người được không?
Không biết phiên bản Excel của anh là bi nhiu, chứ của tác giả và của tôi thì đã tự động tính trên ngày 1 tháng đó rồi.
Bạn có thấy trừ 1 thì còn có lý, chứ +1 thì không có lý do nào hết và dùng nó để tính toán thì chẳng có tác dụng gì cả! Phải vậy không?
...
Vd: Ô C6= "9/1990", chỉnh thành CF6= 01/09/1990, tính đến 31/01/2016 (tính tay) gồm: đến 31/08/2015 là 25 năm, từ 01/09/2015 đến 31/01/2016 là 5 tháng, vì chưa đủ 6 tháng chỉ tính là 25 năm.
Đối với cách tính nhẩm thì từ 01/09/1990 đến hết ngày 31/08/2015 là 25 năm, nhưng khi đưa chính xác 2 con này vào hàm DateDif thì chỉ được 24. Lý do rất dễ hiểu là "hết" ngày 31/08/2015 tức là 0 giờ ngày 01/09/2015 đúng như giá trị number nguyên của 01/09/2015. Thiếu 1 ngày DateDif vứt bỏ nên cần cộng 1.



q01.png

Điều đặc biệt trong file là ngày cột C luôn "bị" hiểu là ngày 1 và tính đến ngày 1 của tháng hiện hành nên không cần cộng nữa. Nhưng nếu dữ liệu cột C có những dòng ghi đủ ngày và không phải ngày 1 mà là ngày 2 thì sẽ bị mất 1 năm oan

q02.png

Thứ 2:

Việc tính tháng còn lại sau khi tính số năm nguyên bằng tham số "ym" có thể không cần -1 vẫn ra đúng trong nhiều trường hợp. Trừ 1 là 1 trường hợp rất đạc biệt về chính sách: tròn 6 tháng trở lên tính 1 năm, nhưng trừ 1 ngày để loại anh nào vừa tròn trĩnh 6 tháng vì trở thành thiếu 1 ngày. Nếu chính sách không quái dị như vậy thì cũng phải cộng 1 như tính năm bên trên cho những ngày vào làm là ngày 2.
 
Thiếu 1 ngày DateDif vứt bỏ nên cần cộng 1.
Chính xác đó anh, lúc trước cũng bị qua nên mới khuyên thớt muốn tính tròn tháng hiện hành thì nên đưa về ngày 01 tháng sau bằng EDATE(,1).


Điều đặc biệt trong file là ngày cột C luôn "bị" hiểu là ngày 1 và tính đến ngày 1 của tháng hiện hành nên không cần cộng nữa. Nhưng nếu dữ liệu cột C có những dòng ghi đủ ngày và không phải ngày 1 mà là ngày 2 thì sẽ bị mất 1 năm oan
Trong thực tế người ta có quy định về thời gian tham gia đóng BHXH: trước hoặc sau ngày 15 của tháng thì được tính vào tháng này hay phải để qua tháng sau, nên chỉ cần thêm hàm Eomonth('ngày bắt đầu làm việc' - 15 , 0 )+1 để điều chỉnh cho các trường hợp 1 hay 2 ngày này. Cách tính thâm niên cũng nên vậy.

Chúc anh ngày vui
/-*+//-*+//-*+/
(Tb: xài excel trên "dế yêu" thì có hỗ trợ hàm 365, nhưng bị hạn chế nhiều thứ như không tự động hiện ngày 01 khi ô đó chỉ có dữ liệu 'tháng/năm', được 1 cái là "free". Hì hì)
 
Cách tính thâm niên là chính sách của công ty. Dựa vào số năm thâm niện để tính thưởng tết chẳng hạn, hoặc trong lương có 1 khoản gọi là phụ cấp thâm niên..
Cụ thể chính sách của công ty tác giả là chỉ tính năm tròn, không tính tháng. Sáu tháng trở lên thì tính là 1 năm, dưới đó thì bỏ. Không giống cách tính thống nhất toàn quốc của BHXH.
 
Cách tính thâm niên là chính sách của công ty.
Thì bởi! "Phép vua thua lệ làng" :)

Tuy vậy, cũng phải dựa trên cơ sở vững chắc "danh chánh, ngôn thuận" gì để cho nhân viên "tâm phục, khẩu phục" không lấn cấn.

Sáu tháng trở lên thì tính là 1 năm, dưới đó thì bỏ.
Bởi điều này làm anh em mình nghĩ cho những nhân viên vào ngày 2,3, ...14,15 bị thiệt thòi đáng tiếc, vì chỉ mới có 5 tháng mấy à! Không đủ 6 tháng để làm tròn 1 năm thì oan tiền phụ cấp hay thưởng thiết. Chính sách của công ty cũng phải nên công tâm, hài hòa, bao dung.

Chúc anh ngày vui
/-*+//-*+//-*+/
 
Web KT

Bài viết mới nhất

Back
Top Bottom