Tính khoảng chênh lệch giữa 2 giá trị ngày

Liên hệ QC

huecnpm

Thành viên mới
Tham gia
5/1/08
Bài viết
1
Được thích
0
Tính Khoảng chênh lệch giữa hai giá trị Ngày

Chào Các bạn,
Mình đang gặp rắc rối trong việc tính khoảng chênh lệch giữa hai giá trị ngày được mô tả như sau:
ColumnA ColumnB ChenhLech
1/1/2007 2/2/2008 Một Năm Mot Thang Mot Ngay
1/1/2007 1/6/2007 Năm tháng
1/1/2007 2/7/2007 Sáu tháng một ngày
Đây không phải là vấn đề sử dụng hàm DateDiff của VBA, các định dạng theo chuẩn DD/MM/YYYY
Nhỏ bạn làm về ngân hàng cần tính giá trị chênh lệch như vậy, không biết tôi mô tả có đúng không? bạn nào đã đụng vấn đề này thì giúp mình với. vì dụng Excel nên mình cứng lưới phải lên đây nhờ bà con giúp với
chân thành cảm ơn
 
huecnpm đã viết:
Chào Các bạn,
Mình đang gặp rắc rối trong việc tính khoảng chênh lệch giữa hai giá trị ngày được mô tả như sau:
ColumnA ColumnB ChenhLech
1/1/2007 2/2/2008 Một Năm Mot Thang Mot Ngay
1/1/2007 1/6/2007 Năm tháng
1/1/2007 2/7/2007 Sáu tháng một ngày
Bạn có thề sử dụng hàm DATEDIF để tính ngày như trên.
A1: ngày đầu
B1: ngày cuối.
Công thức:
Mã:
=IF(DATEDIF(A1;B1;"Y")>0;DATEDIF(A1;B1;"Y") & " năm ";"") & IF(DATEDIF(A1;B1;"YM")>0;DATEDIF(A1;B1;"YM")& " tháng ";"") & IF(DATEDIF(A1;B1;"MD")>0;DATEDIF(A1;B1;"MD")& " ngày";"")
 

File đính kèm

  • DATEDIF.xls
    14 KB · Đọc: 65
Như trên chủ topic đã nói không phải là dùng hàm Datedif . Tôi có cách này
1 . Dùng công thức =IF(B1>A1,B1-A1,"")
Sau khi có kết quả là số , định dạng lại Cell Customizes là mm" Tháng "dd" Ngày " yy " Năm "
2. định dạng lại Cell trong Customizes là dd" Ngày "mm" Tháng " yy " Năm "

Bạn có thể xem trong File đính kèm
 

File đính kèm

  • Tinh ngay thang nam.rar
    1.7 KB · Đọc: 37
Như trên chủ topic đã nói không phải là dùng hàm Datedif
Chủ topic không nói thế:

Đây không phải là vấn đề sử dụng hàm DateDiff của VBA,
Hàm datedif không phải là hàm của VBA, bạn yên tâm dùng, nó là hàm của Excel.

Ngoài ra, cách làm của Kongcom không ổn: B1-A1 ra kết quả là số ngày giả sử là N, nếu lấy số ngày này định dạng date (+ customize) sẽ ra ngày tháng năm của ngày thứ N kể từ 00/00/1900. Sẽ có ít nhất 2 điều sai:
1. số năm nhuận từ A1 đến B1 và số năm nhuận từ 1900 đến C1 là khác nhau.
2. nếu A1 = 25/12/07, B1 = 26/12/07 --> N = 1, định dạng ngày sẽ là 01/01/1900 --> định dạng customize --> 1 ngày, 1 tháng 0 năm.

Tương tự cho mọi số khác.
 
Lần chỉnh sửa cuối:
Cái này phải dùng VBA thôi trong excel làm gì có hàm nào chuyển số thành chữ 1 năm thành "một năm", 5 tháng thành "Năm tháng"
 
salam đã viết:
Cái này phải dùng VBA thôi trong excel làm gì có hàm nào chuyển số thành chữ 1 năm thành "một năm", 5 tháng thành "Năm tháng"
Oh, Salam xem các post trên (đặc biệt của ptm0412) sẽ hiểu ngay;
đó là chúng ta có thể dùng Format cell \ Number ... chọn định dạng date rồi chuyển sang chọn Custom: rồi thêm các chữ ngày , tháng, ...
Như thế ta có thể dùng công thức rồi
 
Lần chỉnh sửa cuối:
Ý mình là theo đầu bài là một năm một tháng một ngày chứ không phải là 01 năm 01 tháng 1 ngày, Số 1 chuyển thành một cơ. custom format nào làm được điều đó.
 
He.... he... nếu là như thế thì thật là ko đáng đễ tốn thêm 1 hàm đỗi số thành chử nhỉ
Theo tôi làm như thầy Long đã ỗn lắm rồi... viết 1 năm thì đàng nào ta cũng sẽ đọc thành một năm, có sao đâu.. Chứ bằng ko thì... lỗ vốn nặng vì chuyện ko đâu vào đâu...
ANH TUẤN
 
salam đã viết:
Ý mình là theo đầu bài là một năm một tháng một ngày chứ không phải là 01 năm 01 tháng 1 ngày, Số 1 chuyển thành một cơ. custom format nào làm được điều đó.

Oh, thế thì dùng hàm (hoặc AddIn) đọc số là được và kết hợp với các hàm LEFT(<...>), RIGHT(<...>) là sử dụng được
 
Web KT
Back
Top Bottom