PDA

View Full Version : Tính số ngày có trong tháng?



thaibao77
31-01-08, 10:49 PM
Xin chào diễn đàn,
Làm sao có thể biết được trong các tháng 1, 3,5,7,8,10,12 có 31 ngày; Các tháng còn lại là 30 ngày, riêng tháng 2 có 28 hay 29 ngày. Cứ 4 năm có 1 năm nhuần (tháng 2 có 29 ngày)
Giả sử vay tiền 100 triệu và trả trong 96 tháng với lãi suất 0.05%/1 ngày. Tính xem tháng 1, 2, ... 96 mỗi tháng trả bao nhiêu tiền?+-+-+-+
Xin các bạn chỉ giáo.
Cảm ơn các bạn.

tedaynui
01-02-08, 12:51 AM
Bạn có thể tham khảo cách dùng hàm DATEDIF. Có rất nhiều bài hướng dẫn về hàm này trên GPE

TDN

anhtuan1066
01-02-08, 08:24 AM
Muốn biết tháng nào đó có bao nhiêu ngày thì dùng công thức:

=DAY(DATE(năm,tháng +1,0))
Ví dụ muốn kiểm tra tháng 2 năm 2008 xem có bao nhiêu ngày:

=DAY(DATE(2008,3,0))
ANH TUẤN

TKT
01-02-08, 09:24 AM
Anh Tuấn ơi cho em hỏi:
Cú pháp hảm Date(năm, tháng, ngày)
Vậy trong công thức: Date(2008,3,0) là như thế nào.
Cám ơn anh.

salam
01-02-08, 10:14 AM
Anh Tuấn ơi cho em hỏi:
Cú pháp hảm Date(năm, tháng, ngày)
Vậy trong công thức: Date(2008,3,0) là như thế nào.
Cám ơn anh. Bác Tuấn Off rồi. Thay Bác Tí nhé. Date (2008,3,0) chính là lấy ngày cuối cùng của tháng 2 năm 2008. Vì ta không thể biết chính xác ngày cuối cùng của tháng là ngày nào nên ta phải dùng hàm date với ngày là 0 của tháng trước như ta lấy ngày đầu tháng sau trừ đi 1 ngày thì ra ngày cuối của tháng trước chính là ngày mà ta cần tìm. (Vì ngày đầu của tháng luôn = 1).
Date(2008,3,0)= date(2008,3,1)-1 = 29/02/2008

viendo
01-02-08, 10:28 AM
Vậy trong công thức: Date(2008,3,0) là như thế nào.

Date(năm,tháng+1,0) Đây là công thức chung xác định ngày cuối tháng, như trên thì là ngày cuối tháng 2/2008. Tương tự như thế nếu bạn thế ngày là -1 thì sẽ ra ngày trước ngày cuối tháng.
vd: Date(2008,3,-1) ra ngày 28.
Trong excel khi tính toán và xác định ngày thì excel hiểu mỗi ngày là 1 con số để nó tính toán và xác định.
vd: ngày 28/2/2008 excel hiểu là số 39506
29/2/2008 excel hiểu là số 39507
39506, 39507 đây là số ngày tính từ ngày 01/01/1900
Hy vọng bạn hiểu.

feelingyes
01-02-08, 10:51 AM
Không biết ý bạn có phải thế này không? nhưng tôi vẫn làm thế này

anhtuan1066
01-02-08, 12:19 PM
Không biết ý bạn có phải thế này không? nhưng tôi vẫn làm thế này
Công thức này:

=IF(OR(MONTH(C1)={1,3,5,7,8,10,12}),31,IF(MONTH(C1 )=2,28,30))
chắc chắn sẽ sai, vì tháng 2 có thể có 29 ngày cơ mà... Bạn nhìn vào file cũa bạn đi... năm nay tháng 2 có 29 ngày nhé, vậy mà nó lại cho ra kết quã 28 ngày... Hi... hi...
ANH TUẤN

haonlh
01-02-08, 04:07 PM
Các trả lời là rõ ràng rồi đó. Theo ví dụ của bạn:
vay tiền 100 triệu và trả trong 96 tháng với lãi suất 0.05%/1 ngày. Tính xem tháng 1, 2, ... thì phải bổ sung của năm nào, ví dụ năm 2008
Khi đó, tháng 1 phải trả: =100000000*(1+0.05%)^Day(Date(2008,2,0))
tháng 2 phải trả: =100000000*(1+0.05%)^Day(Date(2008,3,0))
Còn nếu năm 2009 thì thay số 2008 trên bởi 2009.

Nguyễn Xuân Sơn
04-02-08, 06:23 PM
Các trả lời là rõ ràng rồi đó. Theo ví dụ của bạn:
vay tiền 100 triệu và trả trong 96 tháng với lãi suất 0.05%/1 ngày.
Tuy nhiên VD của bạn liệu có mang tính thực tế không. Bởi không có ngân hàng nào cho vay Trung-Dài hạn mà tính lãi suất theo ngày cả!

thaibao77
17-02-08, 09:29 AM
Lãi suất tính theo ngày là tính theo lãi thực tế phải chi trả theo số ngày phát sinh trong tháng. Vì khi niêm yết lãi suất, ngân hàng chỉ yết lãi suất theo tháng (30 ngày) hoặc năm (360 ngày). Do đó cần phải qui đổi ra lãi suất theo ngày sau đó nhân cho số ngày có trong tháng thì sẽ biết được thực tế mình phải trả bao nhiêu tiền.
Đây là bài toán phát sinh từ thực tế nên dĩ nhiên là ứng dụng được

phuongtam81
04-03-08, 09:34 PM
cảm ơn bác Tuấn nhiều, vậy mà trước giờ tui vẫn làm
= Date(nam,thang+1,ngay) - date(nam,thang,ngay)@$@!^%

ladinh1977
06-09-08, 03:16 PM
Tôi có quân nhân nhập ngũ tháng 2 năm 2000, vậy cư đến tháng 2 hàng năm là nhảy thâm niên năm công tác. các ban giup toi với.

cadafi
06-09-08, 03:28 PM
Tôi có quân nhân nhập ngũ tháng 2 năm 2000, vậy cư đến tháng 2 hàng năm là nhảy thâm niên năm công tác. các ban giup toi với.
Giả sử quân nhân của bạn nhập ngũ vào ngày 12/02/2000
Bạn dùng công thức sau để tính thâm niên tới tháng 02 của năm hiện tại:


=DATEDIF("12/02/2000",Date(Year(Now()),02,12),"Y")

ladinh1977
07-09-08, 11:26 AM
Cám ơn ban Ca_dafi đã cung câp công thức:
=DATEDIF("2/02/2000";DATE(YEAR(NOW());2;12);"Y")
Nhưng mình thư điều chỉnh sang năm khác chưa đến tháng cần nhảy thâm niên thi nó đã nhẩy trước rồi. Ý minh muốn đến tháng 2 năm sau (đối với người nhập ngũ tháng 2) tháng 4 năm sau (đối với người nhập ngũ tháng 4) thi mới được nhảy thâm niên công tác. Giúp minh vơi. Cám ơn rất nhiều!

phamduylong
07-09-08, 12:52 PM
Tôi có quân nhân nhập ngũ tháng 2 năm 2000, vậy cư đến tháng 2 hàng năm là nhảy thâm niên năm công tác. các ban giup toi với.
Nếu chỉ tính đến tháng nhập ngũ mà không tính ngày nhập ngũ (30/9/2007 > 7/9/2008 tính là một năm) thì bạn dùng công thức này:

DATEDIF(DATE(YEAR(Ngày nhập ngũ),MONTH(Ngày nhập ngũ),1);TODAY(),"Y")
Ngày nhập ngũ có đủ ngày, tháng, năm

huuthang_bd
18-09-08, 09:23 AM
Cám ơn ban Ca_dafi đã cung câp công thức:
=DATEDIF("2/02/2000";DATE(YEAR(NOW());2;12);"Y")
Nhưng mình thư điều chỉnh sang năm khác chưa đến tháng cần nhảy thâm niên thi nó đã nhẩy trước rồi. Ý minh muốn đến tháng 2 năm sau (đối với người nhập ngũ tháng 2) tháng 4 năm sau (đối với người nhập ngũ tháng 4) thi mới được nhảy thâm niên công tác. Giúp minh vơi. Cám ơn rất nhiều!

Nếu tính đến từng ngày bạn dùng công thức sau:

=DATEDIF(A1,TODAY(),"y")
Nếu chỉ tính đến tháng thì công thức này:

=DATEDIF(A1-DAY(A1),TODAY(),"y")
Lưu ý:
- A1 là ngày nhập ngũ.
- Khi dùng hàm Today() phải chỉnh lại ngày hệ thống cho đúng.