Giúp công thức tính ngày kết thúc theo Ngày mở và chu kỳ và kiểu Tròn ngày

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Văn Toàn 1996

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
5/6/23
Bài viết
106
Được thích
19
Chào tất cả mọi người GPE ! em cần 1 công thức tại ô B4 để tính ngày kết thúc dựa vào điều kiện ( Ngày bắt đầu, bước nhảy, Chu kỳ ) tại vùng B1:B3
Vi dụ: Ngày bắt đầu 3/3/2024 , bước nhảy trọn ngày là 10 ( 3,13,23 ) thì 5 chu kỳ sẽ là 13/4/2024 . Trường hợp rơi vào ngày 29,30,31 mà trong tháng đó không có ngày đó thì dời vào ngày 1 tháng sau. Ví dụ tháng tháng 2 không có ngày 30 thì dời ngày mãn về 1/3
Em xin chân thành cảm ơn

Ví dụ
Chu kỳ 1: 3/3/2024
Chu kỳ 2: 13/3/2024
Chu kỳ 3: 23/3/2024
Chu kỳ 4: 3/4/2024
Chu kỳ 5: 13/4/2024

Em xin nêu lý do em làm. Vì công ty em cho khách hàng nợ tiền, và chỉ muốn nhắc nợ theo những ngày cụ thể ví dụ như 10 ngày 1 lần, Ví dụ ngày đầu tiên mượn tiền là 2/7/2024 thì cứ các ngày trong tháng 2,12,22 là bên em sẽ nhắc nợ thanh toán. Chứ nếu +10 thì có tháng 30 có tháng 31 nó bị lệch ngày chỉ định

1722488646559.png
 

File đính kèm

Lần chỉnh sửa cuối:
Chào tất cả mọi người GPE ! em cần 1 công thức tại ô B4 để tính ngày kết thúc dựa vào điều kiện ( Ngày bắt đầu, bước nhảy, Chu kỳ ) tại vùng B1:B3
Vi dụ: Ngày bắt đầu 3/3/2024 , bước nhảy trọn ngày là 10 ( 3,13,23 ) thì 5 chu kỳ sẽ là 13/4/2024 . Trường hợp rơi vào ngày 29,30,31 mà trong tháng đó không có ngày đó thì dời vào ngày 1 tháng sau. Ví dụ tháng tháng 2 không có ngày 30 thì dời ngày mãn về 1/3
Em xin chân thành cảm ơn

Ví dụ
Chu kỳ 1: 3/3/2024
Chu kỳ 2: 13/3/2024
Chu kỳ 3: 23/3/2024
Chu kỳ 4: 3/4/2024
Chu kỳ 5: 13/4/2024

View attachment 302830
Mình đang thắc mắc, chu kỳ là 10 ngày. Bắt đầu từ mùng 1. Vậy ngày 31 tính sao nhỉ?
 
Mình đang thắc mắc, chu kỳ là 10 ngày. Bắt đầu từ mùng 1. Vậy ngày 31 tính sao nhỉ?
1722491679797.png
Ví dụ ngày bắt đầu 1/8/2024 10 ngày 1 lần (1,11,31) thì sau 10 chu kỳ rơi vào ngày 1/11/2024
Trường hợp như tháng 9 nếu không có ngày 31 thì +1 để nó thành 1/10/2024 .
 
Lần chỉnh sửa cuối:
View attachment 302832
Ví dụ ngày bắt đầu 1/8/2024 10 ngày 1 lần (1,11,31) thì sau 10 chu kỳ rơi vào ngày 1/11/2024
Trường hợp như tháng 9 nếu không có ngày 31 thì +1 để nó thành 1/10/2024 .
mình chỉ làm đơn giản thế này thôi, còn như đầu bài thì sẽ phải cộng/trừ với 1(trường hợp tháng 29/31 ngày) mới ra được như mong muốn
1722495860774.png
 
Lần chỉnh sửa cuối:
Đã làm thử nhưng thấy chưa hợp lý lắm, bác xem xem có đúng theo ý đồ của bác hay không.
 

File đính kèm

2/5/2024​
2/15/2024​
=D4+10
2/25/2024​
3/6/2024
=D6+10
3/16/2024​



PHP:
Function NgayKT(Dat As Date, Buoc As Integer, SoNgay As Integer) As Date
 NgayKT = DateAdd("D", Buoc * SoNgay, Dat)
End Function
 
Công thức cho ô B4 (của GPT)
=IF(DAY(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1)) > DAY(EOMONTH(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), 1), 0)), EDATE(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1), 1) - DAY(EDATE(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1), 1)), DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1))
 
ví dụ có vẻ kỳ lạ, từ 23/3 đến 3/4 chính xác là nhảy 11 ngày chứ đâu còn là 10 ngày nữa???
Đúng là 11 ngày, nhưng để khách hàng Mượn tiền chỉ cần nhở 3 ngày trong tháng là 3,13,23 để đóng tiền Lãi, vì nếu + 10 như anh nói thì tầm qua 3 4 tháng là nó Lệch ngày
Bài đã được tự động gộp:

Công thức cho ô B4 (của GPT)
=IF(DAY(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1)) > DAY(EOMONTH(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), 1), 0)), EDATE(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1), 1) - DAY(EDATE(DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1), 1)), DATE(YEAR(B1), MONTH(B1) + INT((DAY(B1) + B2 * B3 - 1)/31), MOD(DAY(B1) + B2 * B3 - 1, 31) + 1))
gpt hình như nó chưa hiểu ý. Nên kết quả vẫn không chính xác
1722513125112.png
Bài đã được tự động gộp:

Mình đang thắc mắc, chu kỳ là 10 ngày. Bắt đầu từ mùng 1. Vậy ngày 31 tính sao nhỉ?
Em xin nêu lý do em làm. Vì công ty em cho khách hàng nợ tiền, và chỉ muốn nhắc nợ theo những ngày cụ thể ví dụ như 10 ngày 1 lần, Ví dụ ngày đầu tiên mượn tiền là 2/7/2024 thì cứ các ngày trong tháng tiếp theo các ngày 2,12,22 là bên em sẽ nhắc nợ thanh toán. Chứ nếu +10 thì có tháng 30 có tháng 31 nó bị lệch ngày chỉ định
Bài đã được tự động gộp:

2/5/2024​
2/15/2024​
=D4+10
2/25/2024​
3/6/2024
=D6+10
3/16/2024​



PHP:
Function NgayKT(Dat As Date, Buoc As Integer, SoNgay As Integer) As Date
 NgayKT = DateAdd("D", Buoc * SoNgay, Dat)
End Function
Em xin nêu lý do em làm. Vì công ty em cho khách hàng nợ tiền, và chỉ muốn nhắc nợ theo những ngày cụ thể ví dụ như 10 ngày 1 lần, Ví dụ ngày đầu tiên mượn tiền là 2/7/2024 thì cứ các ngày trong tháng 2,12,22 là bên em sẽ nhắc nợ thanh toán. Chứ nếu +10 thì có tháng 30 có tháng 31 nó bị lệch ngày chỉ định
Có vẽ bác hiểu nhầm ý em
 
Lần chỉnh sửa cuối:
Em xin nêu lý do em làm. Vì công ty em cho khách hàng nợ tiền, và chỉ muốn nhắc nợ theo những ngày cụ thể ví dụ như 10 ngày 1 lần, Ví dụ ngày đầu tiên mượn tiền là 2/7/2024 thì cứ các ngày trong tháng 2,12,22 là bên em sẽ nhắc nợ thanh toán. Chứ nếu +10 thì có tháng 30
Nếu là vậy thì ra các chi nhánh ngân hàng nào có vốn Nhà nước >50% mà hỏi họ làm thế nào;
Mà đừng nói là CTi bạn đang cho vay lãi cao đó nha!
 
Nếu là vậy thì ra các chi nhánh ngân hàng nào có vốn Nhà nước >50% mà hỏi họ làm thế nào;
Mà đừng nói là CTi bạn đang cho vay lãi cao đó nha!
tôi cũng có cảm giác giống bác, mà ngày vay lại tính là 1 kỳ luôn thế, vậy ngay ngày đó là đóng lãi ngay khi nhận tiền luôn sao? haizzzz
 
View attachment 302832
Ví dụ ngày bắt đầu 1/8/2024 10 ngày 1 lần (1,11,31) thì sau 10 chu kỳ rơi vào ngày 1/11/2024
Trường hợp như tháng 9 nếu không có ngày 31 thì +1 để nó thành 1/10/2024 .
Mình chỉ thấy lạ là sao 31/10 nhắc rồi. 1/11 lại nhắc tiếp.
Ngày 1/10 nhắc lại 2 lần, không biết đúng không.
Mã:
=AGGREGATE(15;6;DATE(2024;{0\1\2\3}+MONTH($B$1);TEXT(DAY($B$1)+$B$2*(ROW($A$1:$A$14)-7);"[>31]a;[<=0]a;0"));ROW(A1))

Nếu cần số chu kỳ nhiều hơn, bạn thêm vào chỗ \3 \4\5\6.... Nếu máy bạn xài dấu "," thì đổi \ thành , và ; thành ,
 

File đính kèm

  • Screenshot_20240801_215033_com.microsoft.office.excel.jpg
    Screenshot_20240801_215033_com.microsoft.office.excel.jpg
    93.2 KB · Đọc: 7
tôi cũng có cảm giác giống bác, mà ngày vay lại tính là 1 kỳ luôn thế, vậy ngay ngày đó là đóng lãi ngay khi nhận tiền luôn sao? haizzzz
Bên công ty mình bán hàng Tạp hóa, cho khách công nợ, chứ không phải cho vay tiền
Bài đã được tự động gộp:

Nếu là vậy thì ra các chi nhánh ngân hàng nào có vốn Nhà nước >50% mà hỏi họ làm thế nào;
Mà đừng nói là CTi bạn đang cho vay lãi cao đó nha!
Bên công ty mình bán hàng Tạp hóa, cho khách công nợ, chứ không phải cho vay tiền
 
Mần xong cái này rồi còn phải tiếp tục cái "ngày nhắc phải né ngày cuối tuần".
Chứ cuối tuần, ngày lễ cũng gởi thư nhắc nợ à? :p:p:p
 
Nếu bạn đang áp dụng bước nhảy đẹp (5, 10) thì logic này dễ hiểu, ví dụ:
1) + bước nhảy 10:
1,11,21,1,...
5,15,26,30,5...
2) hay bước nhảy 5 (với ngày bắt đầu tròn 5)
5,10,15,20,25,30,5,...
Tuy nhiên, nếu bước nhảy khác, ví dụ 3,4,... hoặc bước nhảy 5 nhưng ngày bắt đầu khác, ví dụ:
3) 2,5,8,11,...(bước 3)
4) 4,9,14,19,24,29,3,8,...(bước 5)
thì đơn giản chỉ là ngày bắt đầu cộng thêm 1 bội số của bước.
Nếu ý của bạn là như vậy thì trong công thức cần tách ra các trường hợp riêng biệt để xét.
VD:
IF(bước=10, ...
IF( bước=5,...
 
=AGGREGATE(15;6;DATE(2024;{0\1\2\3}+MONTH($B$1);TEXT(DAY($B$1)+$B$2*(ROW($A$1:$A$14)-7);"[>31]a;[<=0]a;0"));ROW(A1))
Nếu:
- Ngày bắt đầu là: 20/02/2024
- Nhắc cách nhật: 5 ngày

Cũng vậy nếu:
- Ngày bắt đầu là: 27/02/2024
- Nhắc cách nhật: 2 ngày

Kết quả tại kỳ 1 (ngày bắt đầu) đều chưa chính xác, vì vậy cũng không đúng cho các kỳ kế tiếp.

Thân
Bài đã được tự động gộp:

Mần xong cái này rồi còn phải tiếp tục cái "ngày nhắc phải né ngày cuối tuần".
Chứ cuối tuần, ngày lễ cũng gởi thư nhắc nợ à? :p:p:p
Anh khéo lo! Trong chốn "võ lâm" làm gì có ngày cuối tuần anh!?

/-*+//-*+//-*+/
 
công thức nào cũng chỉ ổn định vài tháng đầu, sau cũng bị lệch hết.
giả sử 2 tháng 31 ngày cạnh nhau là thấy lệch lệch rồi.
 
Web KT

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

Back
Top Bottom