Tính Ngày Kết Thúc Dựa Vào Ngày Bắt Đầu

Bandit

Thành viên mới
Tham gia ngày
12 Tháng chín 2019
Bài viết
19
Được thích
13
Điểm
165
Chào anh chị, em có vấn đề nhờ các anh chị giúp
Giả sử chúng ta có hàm NETWORKDAYS("30/01/2020";"18/04/2020") nghĩa là từ ngày 30/01/2020 đến ngày 18/07/2020 là 57 ngày sau khi trừ thứ 7 và chủ nhật
Vậy giờ biết ngày bắt đầu là 30/01/2020, và có 57 ngày không tính thứ 7, chủ nhật, thì dùng công thức gì để tính ra được ngày kết thúc là 18/04/2020 ạ
Em cảm ơn
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang
Chào anh chị, em có vấn đề nhờ các anh chị giúp
Giả sử chúng ta có hàm NETWORKDAYS("30/01/2020";"18/04/2020") nghĩa là từ ngày 30/01/2020 đến ngày 18/07/2020 là 57 ngày sau khi trừ thứ 7 và chủ nhật
Vậy giờ biết ngày bắt đầu là 30/01/2020, và có 57 ngày không tính thứ 7, chủ nhật, thì dùng công thức gì để tính ra được ngày kết thúc là 18/04/2020 ạ
Em cảm ơn
Mình gợi ý giải thuật để bạn làm thử nhé:
Bạn cứ lấy ngày 30/01/2020 +57 ngày vào: được ngày 27/03/2020. Xong bạn tính số ngày T7 và CN trong khoảng từ ngày 30/01/2020 đến 27/03/2020. Xong bạn lại lấy ngày 27/03/2020 cộng vào số ngày T7 và CN bạn mới tính được => Xong rồi đó bạn! :)
Gom lại thành 1 công thức dễ mà đúng không?! :)
 

VetMini

Chuyên gia GPE
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
9,881
Được thích
11,893
Điểm
1,560
Mình gợi ý giải thuật để bạn làm thử nhé:
Bạn cứ lấy ngày 30/01/2020 +57 ngày vào: được ngày 27/03/2020. Xong bạn tính số ngày T7 và CN trong khoảng từ ngày 30/01/2020 đến 27/03/2020. Xong bạn lại lấy ngày 27/03/2020 cộng vào số ngày T7 và CN bạn mới tính được => Xong rồi đó bạn! :)
Gom lại thành 1 công thức dễ mà đúng không?! :)
Có chắc 'xong' hôn?
Tính ra trúng ngày thứ bảy, chủ nhật lại phải đi tiếp.
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang

Bandit

Thành viên mới
Tham gia ngày
12 Tháng chín 2019
Bài viết
19
Được thích
13
Điểm
165
Có chắc 'xong' hôn?
Tính ra trúng ngày thứ bảy, chủ nhật lại phải đi tiếp.
Nhờ bác giúp em với ạ
Mình gợi ý giải thuật để bạn làm thử nhé:
Bạn cứ lấy ngày 30/01/2020 +57 ngày vào: được ngày 27/03/2020. Xong bạn tính số ngày T7 và CN trong khoảng từ ngày 30/01/2020 đến 27/03/2020. Xong bạn lại lấy ngày 27/03/2020 cộng vào số ngày T7 và CN bạn mới tính được => Xong rồi đó bạn! :)
Gom lại thành 1 công thức dễ mà đúng không?! :)
Em thử cách của bác nhưng nó không ra kết quả đúng nơi ạ
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang
Nhờ bác giúp em với ạ

Em thử cách của bác nhưng nó không ra kết quả đúng nơi ạ
Ủa bài của bạn chỉ cần dùng hàm này là được rồi nè:
Mã:
=WORKDAY.INTL(A3;57;"0000011")
Với ô A3 là ngày 30/01/2020 á bạn. :D

Bạn tìm hiểu hàm WORKDAY.INTL nhé. Ở trên có cụm "0000011" là để định nghĩa 2 ngày nghỉ trong tuần là T7 và CN á.

Không phải ra 18/04/2020 đâu vì ngày này là ngay ngày T7 á. Kết quả đúng là ngày 20/04/2020 á.
 

Bandit

Thành viên mới
Tham gia ngày
12 Tháng chín 2019
Bài viết
19
Được thích
13
Điểm
165
Ủa bài của bạn chỉ cần dùng hàm này là được rồi nè:
Mã:
=WORKDAY.INTL(A3;57;"0000011")
Với ô A3 là ngày 30/01/2020 á bạn. :D

Bạn tìm hiểu hàm WORKDAY.INTL nhé. Ở trên có cụm "0000011" là để định nghĩa 2 ngày nghỉ trong tuần là T7 và CN á.
Em có thử hàm đó thì nó trả về là 20/04/2020 chứ không phải là 18/04/2020 bác ạ
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang
Em có thử hàm đó thì nó trả về là 20/04/2020 chứ không phải là 18/04/2020 bác ạ
Nhưng ngày 18/04/2020 là ngay ngày thứ Bảy mà. Bạn muốn nếu dừng ngay thứ Bảy thì hiển thị ngày đó luôn hả?
Nếu vậy bạn phải cho thêm điều kiện á:
Ngày kết thúc rơi vào T7 thì tính sao? Thêm If vào thôi! Đúng là như bác vetmini bảo là phải lồng thêm hàm Weekday vào nữa là được.
 
Lần chỉnh sửa cuối:

VetMini

Chuyên gia GPE
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
9,881
Được thích
11,893
Điểm
1,560
1600224401657.png
1600224444720.png
18/04 là thứ bảy cho nên nó tự động nhảy sang thứ hai là 20/04.
Muốn sửa thành 18/04 cũng không khó nhưng không ai làm vậy bởi vì công thức nếu kéo xuống mấy dòng khác (ngày khác) sẽ gây nhiểu lầm.
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang
Em có thử hàm đó thì nó trả về là 20/04/2020 chứ không phải là 18/04/2020 bác ạ
Mình làm như bạn muốn nhé: nếu ngày kết thúc nhằm ngay T7 thì giữ nguyên ngày đó luôn, không bỏ qua T7 và CN ngay thời điểm kết thúc, tại ô B3 bạn nhập:
Mã:
=IF(WEEKDAY(WORKDAY.INTL(A3;57;"0000011"))=2;WORKDAY.INTL(A3;57;"0000011")-2;WORKDAY.INTL(A3;57;"0000011"))
1600224833279.png
 

Bandit

Thành viên mới
Tham gia ngày
12 Tháng chín 2019
Bài viết
19
Được thích
13
Điểm
165

bebo021999

Thành viên gạo cội
Tham gia ngày
26 Tháng một 2011
Bài viết
3,767
Được thích
5,908
Điểm
560
Nơi ở
TPHCM, Gò Vấp
Mình làm như bạn muốn nhé: nếu ngày kết thúc nhằm ngay T7 thì giữ nguyên ngày đó luôn, không bỏ qua T7 và CN ngay thời điểm kết thúc, tại ô B3 bạn nhập:
Mã:
=IF(WEEKDAY(WORKDAY.INTL(A3;57;"0000011"))=2;WORKDAY.INTL(A3;57;"0000011")-2;WORKDAY.INTL(A3;57;"0000011"))
Nếu kết thúc vào CN ngày 19/4 thì sao?
Công thức bạn mặc định nếu Workday là thứ 2 thì - 2 ngày, trong khi có 2 T/H rơi vào T7 và CN, kết quả vẫn về T7 ngày 18/4.
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang
Nếu kết thúc vào CN ngày 19/4 thì sao?
Công thức bạn mặc định nếu Workday là thứ 2 thì - 2 ngày, trong khi có 2 T/H rơi vào T7 và CN, kết quả vẫn về T7 ngày 18/4.
Em đã nghĩ đến điều anh nói. Nhưng thớt không tính ngày T7 CN thì làm sao kết thúc ngay ngày CN được anh?! :D
Công thức em đã tính trọn hết các trường hợp mà thớt mong muốn rồi đó. Anh hỏi thớt xem đúng không! Hi.
 

bebo021999

Thành viên gạo cội
Tham gia ngày
26 Tháng một 2011
Bài viết
3,767
Được thích
5,908
Điểm
560
Nơi ở
TPHCM, Gò Vấp
Em đã nghĩ đến điều anh nói. Nhưng thớt không tính ngày T7 CN thì làm sao kết thúc ngay ngày CN được anh?! :D
Công thức em đã tính trọn hết các trường hợp mà thớt mong muốn rồi đó. Anh hỏi thớt xem đúng không! Hi.
NETWORKDAYS("30/01/2020";date) với date là 17,18,19/4 (T6,T7,CN) đều cùng trả về 57
Thớt có nói là trả về T7 đâu. Có thể bạn ấy chưa test hết cho T/H T6 và CN.

Vậy mình thử làm xem, trả về đúng ngày thì sao? Chưa thử, nhưng có thể lồng vào: nếu T7 thì trừ 2, vậy T6 thì trừ 3, CN thì trừ 1 chẳng hạn?
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang
NETWORKDAYS("30/01/2020";date) với date là 17,18,19/4 (T6,T7,CN) đều cùng trả về 57
Thớt có nói là trả về T7 đâu. Có thể bạn ấy chưa test hết cho T/H T6 và CN.

Vậy mình thử làm xem, trả về đúng ngày thì sao? Chưa thử, nhưng có thể lồng vào: nếu T7 thì trừ 2, vậy T6 thì trừ 3, CN thì trừ 1 chẳng hạn?
Em hiểu ý anh nhưng mà cái công thức này:
Mã:
=IF(WEEKDAY(WORKDAY.INTL(A3;57;"0000011"))=2;WORKDAY.INTL(A3;57;"0000011")-2;WORKDAY.INTL(A3;57;"0000011"))
- nếu rơi vào ngày T6 thì nó vẫn giữ nguyên, đâu cần trừ 3 làm chi đâu anh? :D
- càng không rơi vào CN vì bản thân hàm Workday.intl với đối số "0000011" em đã loại luôn T7 CN ra rồi.
- chỉ còn rơi vào T2 (vì ngày kết thúc trùng T7 nên nó loại tiếp T7 CN) thì em mới trừ 2 để cho nó lùi về ngay ngày T7 theo đúng ý như bài đầu tiên thớt nói á anh.

@bebo021999 : em chỉ suy nghĩ về công thức của bác @phuocam á, hình như đúng luôn, em chưa nghĩ ra trường hợp sai :( nếu quả thật như vậy thì em tệ quá tệ, hiiiii.
 
Lần chỉnh sửa cuối:

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,643
Được thích
53,345
Điểm
11,910
Mình làm như bạn muốn nhé: nếu ngày kết thúc nhằm ngay T7 thì giữ nguyên ngày đó luôn, không bỏ qua T7 và CN ngay thời điểm kết thúc, tại ô B3 bạn nhập:
Mã:
=IF(WEEKDAY(WORKDAY.INTL(A3;57;"0000011"))=2;WORKDAY.INTL(A3;57;"0000011")-2;WORKDAY.INTL(A3;57;"0000011"))
Sao bạn không dùng WORKDAY mà cứ phải WORKDAY.INTL vậy?
 

xuongrongdat

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia ngày
30 Tháng sáu 2008
Bài viết
543
Được thích
446
Điểm
735
Nơi ở
Mỹ Tho- Tiền Giang
Top Bottom