Hỏi về cách tính ngày tháng

Liên hệ QC

031113

Thành viên mới
Tham gia
22/11/08
Bài viết
21
Được thích
1
Em chào các bác.
Em có vướng mắc nhỏ mong các bác hướng dẫn. Em muốn tính ngày tháng: vd ngày 26/05/2017 em cộng thêm 2 ngày kết quả trả về 28/05/2017 nhưng ngày này là vào chủ nhật em muốn nó tự động cộng thêm 1 ngày nếu kết quả trả về là ngày chủ nhật thì phải làm ntn ạ?
Mong nhận được sự chỉ dẫn của các bác.
 
Với A1 là ngày bắt đầu:

=WORKDAY.INTL(A1,2,11)
 
Em thử làm nhưng kết quả tra về là #name? Không biết e làm sai ở đâu bác giúp e với ạ
Bạn dùng office 2007 hay 2010 ah?
Bạn thử dùng công thức này xem, A1 là ngày bắt đầu nhé!
=IF(WEEKDAY(A1+2,1)=1,A1+2+1,A1+2)
 
Lần chỉnh sửa cuối:
Em muốn tính ngày tháng:
vd ngày 26/05/2017 em cộng thêm 2 ngày kết quả trả về 28/05/2017 nhưng ngày này là vào chủ nhật em muốn nó tự động cộng thêm 1 ngày nếu kết quả trả về là ngày chủ nhật thì phải làm ntn ạ?

Mình có thắc mắc: Có khi nào bạn nhập con số lớn hơn 7 không vậy? & lúc đó bạn muốn nó cọng vô bao nhiêu?
 
Mình có thắc mắc: Có khi nào bạn nhập con số lớn hơn 7 không vậy? & lúc đó bạn muốn nó cọng vô bao nhiêu?
Dạ với việc bây giờ thì em chỉ muốn cộng thêm 2 ngày vào ngày bắt đầu và nếu kết quả trả về vào ngày chủ nhật thì cộng thểm 1 ngày thôi ak
 
Bạn dùng office 2007 hay 2010 ah?
Bạn thử dùng công thức này xem, A1 là ngày bắt đầu nhé!
=IF(WEEKDAY(A1+2,1)=1,A1+2+1,A1+2)
Vâng e vừa làm theo công thức của bác thì được kết quả như y luôn. Rất cảm ơn bác và các bác khác đã xem và giúp đỡ em. Chúc các bác cuối tuần vui vẻ ^^
 
Vâng e vừa làm theo công thức của bác thì được kết quả như y luôn. Rất cảm ơn bác và các bác khác đã xem và giúp đỡ em. Chúc các bác cuối tuần vui vẻ ^^
Bạn có nghĩ qua cái phức tạp hơn như anh Hoang2013 có hỏi:
Mình có thắc mắc: Có khi nào bạn nhập con số lớn hơn 7 không vậy? & lúc đó bạn muốn nó cọng vô bao nhiêu?

Giả sử không phải là 2 ngày cộng thêm, mà là 7 ngày, hoặc 14, hoặc 21 ngày thì có phải cộng bù thêm các ngày CN không?

Lúc đó công thức sẽ không đơn giản với trường hợp bạn đang sử dụng Excel 2007.

Vd: A1= 26/05/2017
A2=8 ngày cộng thêm, thì trong kỳ này có 2 ngày CN, vậy nếu bù thì 8 ngày tính từ 26/05/2017 phải là ngày 05/06/2017.

Công thức tổng quát phải là:
PHP:
=SMALL(IF(WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1,A1+ROW(INDIRECT("1:"&A2+7))),A2)
Ctrl+Shift+Enter
Hoặc:
PHP:
=AGGREGATE(15,6,(A1+ROW(INDIRECT("1:"&A2+7)))/(WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1),A2)
Enter

Chúc bạn ngày vui.
 
Lần chỉnh sửa cuối:
Bạn có nghĩ qua cái phức tạp hơn như anh Hoang2013 có hỏi:


Giả sử không phải là 2 ngày cộng thêm, mà là 7 ngày, hoặc 14, hoặc 21 ngày thì có phải cộng bù thêm các ngày CN không?

Lúc đó công thức sẽ không đơn giản với trường hợp bạn đang sử dụng Excel 2007.

Vd: A1= 26/05/2017
A2=8 ngày cộng thêm, thì trong kỳ này có 2 ngày CN, vậy nếu bù thì 8 ngày tính từ 26/05/2017 phải là ngày 05/06/2017.

Công thức tổng quát phải là:
PHP:
=SMALL(IF(WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1,A1+ROW(INDIRECT("1:"&A2+7))),A2)
Ctrl+Shift+Enter
Hoặc:
PHP:
=AGGREGATE(15,6,(A1+ROW(INDIRECT("1:"&A2+7)))/(WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1),A2)
Enter

Chúc bạn ngày vui.
Anh Quốc giải thích ý nghĩa của công thức này được không? Em muốn học hỏi thêm,.
 
Anh Quốc giải thích ý nghĩa của công thức này được không? Em muốn học hỏi thêm,.
=SMALL(IF( WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1, A1+ROW(INDIRECT("1:"&A2+7) ) ),A2)
Đại khái:
Từ ngày 26/05/2017, cộng thêm A2+7=8+7= 15 ngày nữa, tạo thành mảng ngày {27/5,28/5,29/5,...,10/6}, tìm xem các ngày đó không là ngày chủ nhật, dùng SMALL() xếp thứ tự từ nhỏ đến lớn, chọn ngày nhỏ nhất thứ A2, tức là ngày nhỏ thứ 8 trong SMALL.

Hàm Aggregate() cũng tương tự.

Chúc em ngày vui.
 
Bạn có nghĩ qua cái phức tạp hơn như anh Hoang2013 có hỏi:


Giả sử không phải là 2 ngày cộng thêm, mà là 7 ngày, hoặc 14, hoặc 21 ngày thì có phải cộng bù thêm các ngày CN không?

Lúc đó công thức sẽ không đơn giản với trường hợp bạn đang sử dụng Excel 2007.

Vd: A1= 26/05/2017
A2=8 ngày cộng thêm, thì trong kỳ này có 2 ngày CN, vậy nếu bù thì 8 ngày tính từ 26/05/2017 phải là ngày 05/06/2017.

Công thức tổng quát phải là:
PHP:
=SMALL(IF(WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1,A1+ROW(INDIRECT("1:"&A2+7))),A2)
Ctrl+Shift+Enter
Hoặc:
PHP:
=AGGREGATE(15,6,(A1+ROW(INDIRECT("1:"&A2+7)))/(WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1),A2)
Enter

Chúc bạn ngày vui.
26/05/2017+8=03/06/2017 chỉ có 1 ngày CN sao anh tính 2 ta:
Em cũng góp thêm 1 cách khác:
Mã:
=A1+A2+INT((A2-7+WEEKDAY(A1,2))/7)+1
 
=SMALL(IF( WEEKDAY(A1+ROW(INDIRECT("1:"&A2+7)))>1, A1+ROW(INDIRECT("1:"&A2+7) ) ),A2)
Đại khái:
Từ ngày 26/05/2017, cộng thêm A2+7=8+7= 15 ngày nữa, tạo thành mảng ngày {27/5,28/5,29/5,...,10/6}, tìm xem các ngày đó không là ngày chủ nhật, dùng SMALL() xếp thứ tự từ nhỏ đến lớn, chọn ngày nhỏ nhất thứ A2, tức là ngày nhỏ thứ 8 trong SMALL.

Hàm Aggregate() cũng tương tự.,

Chúc em ngày vui.
Hàm aggregate em chưa thấy lần nào luôn Anh, hàm đặc biệt quá,
Em cảm ơn Anh Quốc đã khai sáng sự ngu dốt của em, đáng để học
 
Giả sử không phải là 2 ngày cộng thêm, mà là 7 ngày, hoặc 14, hoặc 21 ngày thì có phải cộng bù thêm các ngày CN không?
quocgiacan đang "hình sự" hóa vụ việc rồi, kekeke
Đơn giản là né ngày chủ nhật thôi, chứ không phải là tính số ngày làm việc trong khoảng thời gian.
Giống như gặp khách hàng đâu đó bên ngoài, mời đến công ty ký hợp đồng sau 2 ngày nữa, nhưng làm ơn né ngày Chủ nhật giùm.
 
Web KT
Back
Top Bottom