phamduylong đã viết:Đây là cú pháp và cách sử dụng DATEDIF cho các bạn chưa biết:
Cú pháp hàm DATEDIF
=DATEDIF(Date1,Date2,Interval)
Có 3 đối số:
Date1: ngày đầu
Date2: ngày cuối
Interval: quy định đơn vị thời gian trả về
Ngày Date1 phải trước hoặc bằng ngày Date2.
Interval nhận các đối số sau:
"m": Trả về số tháng giữa Date1 và Date2.
"d: Trả về số ngày giữa Date1 và Date2.
"y": Trả về số năm giữa Date1 và Date2.
"ym": Trả về số tháng giữa Date1 và Date2, xem như Date1 và Date2 có năm giống nhau.
"yd": Trả về số ngày giữa Date1 và Date2, xem như Date1 và Date2 có năm giống nhau.
"md": Trả về số ngày giữa Date1 và Date2, xem như Date1 và Date2 có tháng và năm giống nhau.
Chú ý các đối số trong Interval phải để trong cặp nháy kép.
dragonboy đã viết:Các bạn có biết hàm nào hay dùng cách nào để tính được số tháng trong một khoảng thời gian nào đó không.
ví dụ: từ tháng 4/2003 đến tháng 1/2006 thì bao nhieu tháng
Tính luôn cả tháng 4 năm 2003 nữa nha
Thế theo ban thì có bao nhiêu tháng.Mr Okebab đã viết:Thế theo bạn thì từ 30/4/2003 đến 1/1/2004 thì có bao nhiêu tháng vậy ???
Thân!
Vì không quy định rõ là như thế nào là 1 tháng, VD nhưdragonboy đã viết:Thế theo ban thì có bao nhiêu tháng.
Tôi mới học Excel nên mọi người đừng .....
Tôi định áp dụng để tính khấu hao thôi mý
Tôi áp dụng các hàm if cung ra nhưng hơi rắc rối nên tìm cách hay hơn ở các bạn.
Cảm ơn mọi người đã góp ý
chm_ncc đã viết:Mình cũng đang gặp vấn đề về tính ngày tháng bằng hàm có sẵn của Excel để tính lãi của 1 món vay.
* Giả sử 1 món vay từ ngày 01/01/2007 đến ngày 10/01/2007
- Trên thực tế số ngày vay là 10 ngày.
- Nếu dùng hàm DAYS360 thì số ngày là 09 ngày;
Chưa kể nếu ngày vay vào 28/12/2006 thì số ngày tính ra chỉ là 12 ngày trong khi thực tế là 14 ngày.
- Theo mình biết, hàm DAYS360 cho phép tính ra số ngày giữa 2 ngày cho trước nhưng nó lại lấy cơ sở là 1 tháng có 30 ngày; 1 năm có 360 ngày trong khi thực tế có tháng 28, 29, 30, 31 ngày; năm có 365,366 ngày.
Như vậy cần phải xây dựng 1 hàm VBA mới giải quyết được.
Tức là phải biết từ ngày bắt đầu đến ngày kết thúc đã qua mấy tháng; Các tháng đó có số ngày như thế nào: 28, 29,30,31 ngày(Các tháng 1,3,5,7,8,10,12 = 31 ngày; tháng 2 những năm thường có 28 ngày, năm có 2 chữ số tận cùng chia hết cho 4 có 29 ngày; các tháng còn lại có 30 ngày).
SoiBien đã viết:hàm DateDif giải quyết tốt yêu cầu của bạn. Cứ xử như vầy, =Datedif(startdate,endate,"d")+1
Mr Okebab đã viết:Để giải quyết tốt vấn đề tính lãi thì dùng hàm Dateif không được rồi. Vì số tháng sẽ bằng số ngày đạt được trong tháng/Số ngày trong tháng
Chính vì vậy 10 ngày của tháng 2 sẽ khác 10 ngày của tháng 3.
Nếu như thế thì có lẽ phải dùng đến UF thôi.
chm_ncc đã viết:* Giả sử 1 món vay từ ngày 01/01/2007 đến ngày 10/01/2007
- Trên thực tế số ngày vay là 10 ngày.
- Nếu dùng hàm DAYS360 thì số ngày là 09 ngày;
Chưa kể nếu ngày vay vào 28/12/2006 thì số ngày tính ra chỉ là 12 ngày trong khi thực tế là 14 ngày.
Có lẽ tớ đang bị nhập tâm mấy cái vụ trả lãi của Cty tớ (tính chính xác đến từng ngày theo tháng) nên . . . híc híc!SoiBien đã viết:Uhm, lý thuyết tính lãi lỗ đó thì mình chưa nắm, nhưng vì bác chm_ncc yêu cầu thế này :
nên hàm datedif+1 áp dụng vào trong 2 ví dụ trên thì đều đúng.
DateDif("1/1/2007","10/1/2007","d")+1 = 10
DateDif("28/12/2006","10/1/2007","d")+1 = 14
còn */+- sao đó thì để lý thuyết và bác ấy quyết định Bắp à!!!
Thân.
Mr Okebab đã viết:Vậy thì Số ngày = A2-A1+1
Như vậy có phải là đơn giản hơn không ??
Bạn tính như vậy hình như chưa đúng, thuế o chịu đâu. Khấu hao tính theo ngày. ??? Nghiên cứu lại.dragonboy đã viết:Cũng nói rõ luôn:
30/1/2007 đến 28/2/2007 tính là 2 tháng
Không bít tui tính khấu hao như vậy có đúng không nữa
Vì coi như đã đưa vào trính khấu hao từ tháng 01 rùi mà.