Xử lý dữ liệu số thành số năm và số tháng trong cột

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

lehoa81

Thành viên mới
Tham gia
2/1/10
Bài viết
46
Được thích
7
Em chào các bác Pro,


Có việc này em nhờ các bác chút, ngày xưa em làm được rồi mà bây giờ quên không nhớ ra làm cách nào nữa. hic' hic'

Lập công thức kiểu value, left, find, & với điều kiện rồi mà vẫn chưa ra được định dạng như mong muốn theo kiểu số năm, số tháng.

Kiểu như thế này các bác ạ!

Tháng đầu....... Tháng cuối.......... Format kết quả mong muốn
09/2010...........04/2011...............8 thang
10/2008...........04/2011...............2 nam 7 thang
05/2007...........05/2011...............4 nam 1 thang

Các bác nghiên cứu giúp em với nhé!
Em cảm ơn các bác nhiều!
 
Lần chỉnh sửa cuối:
Em chào các bác Pro,


Có việc này em nhờ các bác chút, ngày xưa em làm được rồi mà bây giờ quên không nhớ ra làm cách nào nữa. hic' hic'

Lập công thức kiểu value, left, find, & với điều kiện rồi mà vẫn chưa ra được định dạng như mong muốn theo kiểu số năm, số tháng.

Kiểu như thế này các bác ạ!

Tháng đầu....... Tháng cuối.......... Format kết quả mong muốn
09/2010...........04/2011...............8 thang
10/2008...........04/2011...............2 nam 7 thang
05/2007...........05/2011...............4 nam 1 thang

Các bác nghiên cứu giúp em với nhé!
Em cảm ơn các bác nhiều!
Xem tạm công thức dài thoòng này đi, cái này chắc tạm được.
 

File đính kèm

Em chào các bác Pro,


Có việc này em nhờ các bác chút, ngày xưa em làm được rồi mà bây giờ quên không nhớ ra làm cách nào nữa. hic' hic'

Lập công thức kiểu value, left, find, & với điều kiện rồi mà vẫn chưa ra được định dạng như mong muốn theo kiểu số năm, số tháng.

Kiểu như thế này các bác ạ!

Tháng đầu....... Tháng cuối.......... Format kết quả mong muốn
09/2010...........04/2011...............8 thang
10/2008...........04/2011...............2 nam 7 thang
05/2007...........05/2011...............4 nam 1 thang

Các bác nghiên cứu giúp em với nhé!
Em cảm ơn các bác nhiều!

Hoặc bạn công thức này
 

File đính kèm

Xem tạm công thức dài thoòng này đi, cái này chắc tạm được.
Công thức của Bác Ba Tê:
Mã:
=IF(DATEDIF(B6,C6,"y")=0,"",DATEDIF(B6,C6,"y") & " năm, ") & DATEDIF(B6,C6,"m")-(DATEDIF(B6,C6,"y")*12)+1 & " tháng."
Đoạn này:
Mã:
DATEDIF(B6,C6,"m")-(DATEDIF(B6,C6,"y")*12)
Có thể thay bằng đoạn này:
Mã:
DATEDIF(B6,C6,"ym")
Công thức sau khi rút gọn:
Mã:
=IF(DATEDIF(B6,C6,"y")=0,"",DATEDIF(B6,C6,"y")&" năm, ")&DATEDIF(B6,C6,"ym")+1 & " tháng."
Ngoài ra công thức này 12 tháng sẽ cho ra kết quả là 12 tháng chứ không phải là 1 năm. Vì vậy có thể có một số trường hợp kết quả sẽ là: 12 tháng; 1 năm 12 tháng; 2 năm, 12 tháng;...
 
Công thức của Bác Bactu em thấy cũng đúng, có điều nó cứ thiếu mất 1 tháng. em không biết cộng vào như thế nào.

:)

Ngoài ra công thức này 12 tháng sẽ cho ra kết quả là 12 tháng chứ không phải là 1 năm. Vì vậy có thể có một số trường hợp kết quả sẽ là: 12 tháng; 1 năm 12 tháng; 2 năm, 12 tháng;...

Bác Huuthang nói không sai tẹo nào, em vừa thử 1 trường hợp nó ra thành 4 năm 12 tháng.

Có Cthức nào tổng quát hơn (ví dụ thêm điều kiện if) để 12 tháng thì nó cộng thêm 1 năm không nhỉ?
Ví dụ: 4 năm 12 tháng thì chuyển sang thành "5 năm"

Cảm ơn các bác nhé!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bác Ba Tê ơi!

Dài thoòng mà dùng tốt lắm bác ạ. Đúng chuẩn như mong muốn luôn!

Đa tạ, đa tạ Pro giúp đỡ nhanh chóng và chuẩn không cần chỉnh!
Chưa chắc chuẩn không cần chỉnh đâu, 12 tháng bạn có muốn nó ghi là 1 năm không?
3 năm 12 tháng hay 4 năm?
Cái này còn dài thoòng hơn nữa nè!
--------------
Gởi bài rồi mới đọc được bài của huuthang_bd.
Quả thật công thức dài thoòng!
Cái này ngắn hơn một chút:
=IF(DATEDIF(B6;C6+31;"y")=0;"";DATEDIF(B6;C6+31;"y")&" năm, ")& IF(DATEDIF(B6;C6+31;"ym")=0;""; DATEDIF(B6;C6+31;"ym")& " tháng.")
 

File đính kèm

Lần chỉnh sửa cuối:
Chưa chắc chuẩn không cần chỉnh đâu, 12 tháng bạn có muốn nó ghi là 1 năm không?
3 năm 12 tháng hay 4 năm?
Cái này còn dài thoòng hơn nữa nè!
--------------
Gởi bài rồi mới đọc được bài của huuthang_bd.
Quả thật công thức dài thoòng!
Cái này ngắn hơn một chút:
Chưa được đâu! Nếu kết quả là 9 tháng thì công thức của bạn nó ra năm, 9 tháng
Hơi kỳ
Để đơn giản hóa vấn đề, thay vì dùng DATEDIF với Start Date và End Date, bạn cộng thêm 1 tháng vào End Date, xong rồi hẳn dùng DATEDIF (và chỉ dùng DATEDIF thôi chứ không cần INT hay MOD gì cả)
 
Chưa được đâu! Nếu kết quả là 9 tháng thì công thức của bạn nó ra năm, 9 tháng
Hơi kỳ
Để đơn giản hóa vấn đề, thay vì dùng DATEDIF với Start Date và End Date, bạn cộng thêm 1 tháng vào End Date, xong rồi hẳn dùng DATEDIF (và chỉ dùng DATEDIF thôi chứ không cần INT hay MOD gì cả)
Đã sửa lại công thức như vầy:
PHP:
=IF(DATEDIF(B6;C6+31;"y")=0;"";DATEDIF(B6;C6+31;"y")&" năm, ")& IF(DATEDIF(B6;C6+31;"ym")=0;""; DATEDIF(B6;C6+31;"ym")& " tháng.")
Hổng biết cộng thêm 31 có chuẩn không nữa?
 

File đính kèm

Đã sửa lại công thức như vầy:
PHP:
=IF(DATEDIF(B6;C6+31;"y")=0;"";DATEDIF(B6;C6+31;"y")&" năm, ")& IF(DATEDIF(B6;C6+31;"ym")=0;""; DATEDIF(B6;C6+31;"ym")& " tháng.")
Hổng biết cộng thêm 31 có chuẩn không nữa?
Cũng tạm được nếu chắc chắc rằng ngày trong tháng luôn là ngày 1
Ngoài ra, bạn bỏ luôn dấu phẩy đi cho đở "mệt" ---> Kết quả 4 năm lại có dấu phẩy đàng sau làm mất đẹp hết trơn
 
Đã sửa lại công thức như vầy:
PHP:
=IF(DATEDIF(B6;C6+31;"y")=0;"";DATEDIF(B6;C6+31;"y")&" năm, ")& IF(DATEDIF(B6;C6+31;"ym")=0;""; DATEDIF(B6;C6+31;"ym")& " tháng.")
Hổng biết cộng thêm 31 có chuẩn không nữa?
Dùng hàm TEXT() để định dạng. Ngắn hơn một tẹo.
Mã:
=TEXT(DATEDIF(B6,C6+31,"y"),"0"" năm "";;;")&TEXT(DATEDIF(B6,C6+31,"ym"),"0"" tháng"";;;")
 
mình có cách này, các bạn xem thử nhé (trong file đính kèm):
Chỉ cần format cells theo cách : yy "năm" mm "tháng"
 

File đính kèm

Đã sửa lại công thức như vầy:
PHP:
=IF(DATEDIF(B6;C6+31;"y")=0;"";DATEDIF(B6;C6+31;"y")&" năm, ")& IF(DATEDIF(B6;C6+31;"ym")=0;""; DATEDIF(B6;C6+31;"ym")& " tháng.")
Hổng biết cộng thêm 31 có chuẩn không nữa?

Lần này chuẩn rồi bác Ba Tê ạ!

Đa tạ bác Ba Tê và các pro khác đã giúp đỡ nhiệt tình!
 
Web KT

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

Back
Top Bottom