Hàm thời gian: tính 1 số tháng sau 1 thời điểm

Liên hệ QC

chuotmickey

Thành viên mới
Tham gia
4/3/09
Bài viết
14
Được thích
0
Mình đang rất cần tính ngày tháng như sau:
Mình có sổ TK mở ngày 01/01/2009 mình muốn có công thức để ra ngày đến hạn tiếp theo nếu sổ này kỳ hạn là 3 tháng ( kquả sẽ phải là: 01/04/2009) nếu sổ này kỳ hạn 6 tháng /( kquả sẽ phải là: 01/07/2009) và kỳ hạn 1 năm kquả là 01/01/2010.
cả nhà giúp mình để có công thức trả về ngày đến hạn đúng với. Cảm ơn cả nhà.
 
Mình đang rất cần tính ngày tháng như sau:
Mình có sổ TK mở ngày 01/01/2009 mình muốn có công thức để ra ngày đến hạn tiếp theo nếu sổ này kỳ hạn là 3 tháng ( kquả sẽ phải là: 01/04/2009) nếu sổ này kỳ hạn 6 tháng /( kquả sẽ phải là: 01/07/2009) và kỳ hạn 1 năm kquả là 01/01/2010.
cả nhà giúp mình để có công thức trả về ngày đến hạn đúng với. Cảm ơn cả nhà.
|
A​
|
B​
|
C​
|
D​
|
1​
|
Số TK mở ngày​
|
Kỳ hạn​
|
Kết quả​
||
2​
|
01/01/2009​
|
3​
|
01/04/2009​
|=DATE(YEAR(A2);MONTH(A2)+B2;DAY(A2))|
 
Cảm ơn bạn nhưng nếu năm 2010 thì làm sao đây.
 
Trong VBA có hàm DateAdd(Interval As String, Number As Double, Date)

Cảm ơn bạn nhưng nếu năm 2010 thì làm sao đây.
Muốn xài nó trong êxcel ta viết thêm tí gia vị cho nó, để hắn trở thành hàm tự tạo ta xài;
Ví du

PHP:
Function AddDate(Interval As String, Number As Double, Date) As Date
    AddDate = DateAdd(Interval As String, Number As Double, Date)
End Function
DateAdd Function@import url(office.css);DateAdd Function


Returns a Variant (Date) containing a date to which a specified time interval has been added.
Syntax
DateAdd(interval, number, date)
The DateAdd function syntax has these named arguments:
Part Description interval Required. String expression that is the interval of time you want to add. number Required. Numeric expression that is the number of intervals you want to add. It can be positive (to get dates in the future) or negative (to get dates in the past). date Required. Variant (Date) or literal representing date to which the interval is added.

Settings
The interval argument has these settings:
Setting Description yyyy Year q Quarter m Month y Day of year d Day w Weekday ww Week h Hour n Minute s Second

Remarks
You can use the DateAdd function to add or subtract a specified time interval from a date. For example, you can use DateAdd to calculate a date 30 days from today or a time 45 minutes from now.
To add days to date, you can use Day of Year ("y"), Day ("d"), or Weekday ("w").
The DateAdd function won't return an invalid date. The following example adds one month to January 31:
DateAdd("m", 1, "31-Jan-95") In this case, DateAdd returns 28-Feb-95, not 31-Feb-95. If date is 31-Jan-96, it returns 29-Feb-96 because 1996 is a leap year.
If the calculated date would precede the year 100 (that is, you subtract more years than are in date), an error occurs.
If number isn't a Long value, it is rounded to the nearest whole number before being evaluated.
Note The format of the return value for DateAdd is determined by Control Panel settings, not by the format that is passed in date argument.
Note For date, if the Calendar property setting is Gregorian, the supplied date must be Gregorian. If the calendar is Hijri, the supplied date must be Hijri. If month values are names, the name must be consistent with the current Calendar property setting. To minimize the possibility of month names conflicting with the current Calendar property setting, enter numeric month values (Short Date format).
 
Cảm ơn bạn nhưng nếu năm 2010 thì làm sao đây.
Ý của Bạn là sao, mình không hiểu????? Công thức trên tính tăng theo tháng nó cũng tự động tăng năm theo nếu số tháng >12. Theo đề bài của Bạn í, có gì sai àh? Bạn đưa file lên xem nhé.
 
Theo đề bài của Bạn í, có gì sai àh? Bạn đưa file lên xem nhé.
Khỏi cần đưa file, công thức = DATE(YEAR(A2);MONTH(A2)+B2;DAY(A2)) đúng không bàn cãi. Tốt nhất là hãy tự test trước khi kết luận.

Ngoài ra có thể dùng hàm có sẵn của Excel:

= Edate(Start_Date, Months)

Months là số nguyên có thể dương, zero và âm.

attachment.php


attachment.php
 

File đính kèm

  • Date01.jpg
    Date01.jpg
    12.1 KB · Đọc: 148
  • Date02.jpg
    Date02.jpg
    8.6 KB · Đọc: 144
Lần chỉnh sửa cuối:
Khỏi cần đưa file, công thức = DATE(YEAR(A2);MONTH(A2)+B2;DAY(A2)) đúng không bàn cãi. Tốt nhất là hãy tự test trước khi kết luận.

Ngoài ra có thể dùng hàm có sẵn của Excel:

= Edate(Start_Date, Months)

Months là số nguyên có thể dương, zero và âm.
2 công thức này nhìn chung sẽ cho kết quả giống nhau, tuy nhiên vẫn có sự khác biệt, nhất là khi ngày kết thúc rơi vào cuối tháng
Ví dụ:
- Ngày bắt đầu = 31/12/2008
- Số tháng = 2
Công thức của MinhCong sẽ cho kết quả = 3/3/2009
Công thức của sư phụ ptm0412 sẽ cho kết quả = 28/2/2009
Vậy tùy theo quan điểm từng người mà chọn lấy công thức phù hợp
----------
Thêm nữa: hàm EDATE cần phải có Add-In Analysis mới chạy được
 
Lần chỉnh sửa cuối:
Hàm date trong VBA

Chào các bạn
Công thức =Date(2009;12;6) trong VBA mình ghi là Date(2009,12,6) nó báo lỗi , nhờ các bạn sửa giúp
Cảm ơn
 
em không biết vì sao khi áp dụng công thức của anh minhcong báo lỗi hoài anh có thể hướng dẫn em vì sao không? em dùng hàm này =DATE(YEAR(A2);MONTH(A2)+B2;DAY(A2)) nó cứ báo lỗi sai ở hàng gì trong A2,công thức sai gì đó.mong các anh hướng dẫn giúp em !
 
em không biết vì sao khi áp dụng công thức của anh minhcong báo lỗi hoài anh có thể hướng dẫn em vì sao không? em dùng hàm này =DATE(YEAR(A2);MONTH(A2)+B2;DAY(A2)) nó cứ báo lỗi sai ở hàng gì trong A2,công thức sai gì đó.mong các anh hướng dẫn giúp em !

Có thể do máy bạn mặc định dấu ","
Bạn thử đổi các dấu ";" thành "," của công thức trên => =DATE(YEAR(A2),MONTH(A2)+B2,DAY(A2))
 
em làm được rồi.em muốn hỏi thêm anh về vấn đề này:em có một bảng lãi suất.vd:em có 1 khách hàng gửi 1 tháng.từ 15/1/2009 đến tới tháng 1 năm 2010 tất toán.làm sao mình viết hàm gì để mỡi thời gian trong chu kỳ 1 tháng thì lãi tự nhập gốc và tính lãi cho đến giờ.nghĩa là cứ đến chu kỳ 15 hàng tháng thì đủ 1 tháng sẽ tính lãi cho khách hàng ,nhưng nếu trong thời gian đó ls thay đổi tự động tính lãi mới.liệu mình có thề làm được không anh.?
 
Lần chỉnh sửa cuối:
em làm được rồi.em muốn hỏi thêm anh về vấn đề này:em có một bảng lãi suất.vd:em có 1 khách hàng gửi 1 tháng.từ 15/1/2009 đến tới tháng 1 năm 2010 tất toán.làm sao mình viết hàm gì để mỡi thời gian trong chu kỳ 1 tháng thì lãi tự nhập gốc và tính lãi cho đến giờ.nghĩa là cứ đến chu kỳ 15 hàng tháng thì đủ 1 tháng sẽ tính lãi cho khách hàng ,nhưng nếu trong thời gian đó ls thay đổi tự động tính lãi mới.liệu mình có thề làm được không anh.?

Có thể thực hiện được hay không thì bạn nên nói rõ hơn?
1. Khách hàng gửi 1 tháng hay gửi 1 năm? (nếu 1 tháng thì cần gì?)
2. Cứ 15 hàng tháng tính lãi suất thì trong định mức lại suất bạn gửi có các ngày 20,06,12 thì có tính cộng luôn các định mức lại suất của cận trên và cận dưới của ngày 15 hay không? (Vd: 15/01 ls 8%, 20/02 ls 7% thì đến 15/03 có tính lãi suất của 02 khoảng (15/02 đến 19/02 là 8%, 20/02 đến 14/03 là 7% hay không?)
3. Bạn muốn làm một bảng tính xuyên suốt hàng kỳ đến tương lai hay muốn cứ đến ngày hiện tại (now hoặc today) thì ra thông báo?
....
Bạn bổ sung thật chi tiết thì mọi người mới làm đúng cho bạn được ?
 
Web KT
Back
Top Bottom