Xin hỏi hàm điều kiện lặp

Liên hệ QC

vannc121

Thành viên mới
Tham gia
3/11/18
Bài viết
14
Được thích
1
Em không biết phải hỏi như thế nào, nên em có ví dụ dưới đây mong anh chị giúp đỡ

VD:







thứ 6

thứ 7

chủ nhật

thứ 2

Nội dung công việc

ngày bắt đầu

số ngày

23/04/19

24/04/19

25/04/19

26/04/19

- Đi làm

23/04/19

2

x





x

Trên là bảng em muốn làm ra. Nếu ngày e bắt đầu đi làm là 23/04/19 và em đi làm 2 hôm tiếp theo đó. Vì ngày 24/04/19 và 25/04/19 là thứ bảy và chủ nhật nên 26/04/19 em mới đi làm. Có cách nào để tạo ra một bảng auto tự điền dấu "X" khi mà em thay đổi "ngày bắt đầu" và "số ngày" không ạ.
Em đang luẩn quẩn với các hàm IF, OR, AND mà không tài nào làm được.
Mong anh chị chỉ giáo em ạ.
 
Em không biết phải hỏi như thế nào, nên em có ví dụ dưới đây mong anh chị giúp đỡ

VD:







thứ 6

thứ 7

chủ nhật

thứ 2

Nội dung công việc

ngày bắt đầu

số ngày

23/04/19

24/04/19

25/04/19

26/04/19

- Đi làm

23/04/19

2

x





x
Trên là bảng em muốn làm ra. Nếu ngày e bắt đầu đi làm là 23/04/19 và em đi làm 2 hôm tiếp theo đó. Vì ngày 24/04/19 và 25/04/19 là thứ bảy và chủ nhật nên 26/04/19 em mới đi làm. Có cách nào để tạo ra một bảng auto tự điền dấu "X" khi mà em thay đổi "ngày bắt đầu" và "số ngày" không ạ.

Em đang luẩn quẩn với các hàm IF, OR, AND mà không tài nào làm được.
Mong anh chị chỉ giáo em ạ.
Công thức:
=If(And(Weekday(ô ngày ở các cột,2)<6,Networkdays(ngày bắt đầu,ô ngày ở các cột)<=số ngày),"x","")
Diễn giải: kết hợp 2 điều kiện (And)
- Hàm Weekday(ô ngày ở các cột,2)<6 trả về TRUE các ngày thứ 2 đến thứ 6
- Networkdays(ngày bắt đầu,ô ngày ở các cột) để tính số ngày từ ô bắt đầu đến 1 ngày nào đó trừ ngày thứ 7 và chủ nhật.
 

File đính kèm

  • Book1.xlsx
    12.6 KB · Đọc: 8
Công thức:
=If(And(Weekday(ô ngày ở các cột,2)<6,Networkdays(ngày bắt đầu,ô ngày ở các cột)<=số ngày),"x","")
Diễn giải: kết hợp 2 điều kiện (And)
- Hàm Weekday(ô ngày ở các cột,2)<6 trả về TRUE các ngày thứ 2 đến thứ 6
- Networkdays(ngày bắt đầu,ô ngày ở các cột) để tính số ngày từ ô bắt đầu đến 1 ngày nào đó trừ ngày thứ 7 và chủ nhật.
Thiếu điều kiện, nếu nhập ngày bắt đầu là 26/4/2019 thì nó oánh "x" luôn ngày 23,24,25

bác phuocam nói đúng đấy bác leonguyenz ạ
 
bác phuocam nói đúng đấy bác leonguyenz ạ
Thì bạn phải vận dụng thêm chứ, cái công thức lõi của @leonguyenz đã có sẵn, nay thêm tí xíu điều kiện nữa thôi:
D3=IF(AND(WEEKDAY(D$2,2)<6,NETWORKDAYS($B$3,D$2)<=$C3,D$2>=$B3),"x","") Hoặc
D3=IF(AND(WEEKDAY(D$2,2)<6,D$2<=WORKDAY($B3-1,$C3),D$2>=$B3),"x","")

Thân
 
Lần chỉnh sửa cuối:
Thì bạn phải vận dụng thêm chứ, cái công thức lõi của @leonguyenz đã có sẵn, nay thêm tí xíu điều kiện nữa thôi:
D3=IF(AND(WEEKDAY(D$2,2)<6,NETWORKDAYS($B$3,D$2)<=$C3,D$2>=$B3),"x","") Hoặc
D3=IF(AND(WEEKDAY(D$2,2)<6,D$2<=WORKDAY($B3-1,$C3),D$2>=$B3),"x","")

Thân
Em đang ngồi nghiên cứu mà Anh,
Nếu Em dùng công thức này:
=IF(OR(TEXT(E$2,"[$-42A]dddd")<>"Thứ Bảy",TEXT(E$2,"[$-42A]dddd")<>"Chủ Nhật"),IF(AND(E$2>=$C3,$C3+$D3>E$2),"x",""))
vẫn sai sai chỗ nào ý, mong anh chỉ giáo thêm.
Bài đã được tự động gộp:

Thì bạn phải vận dụng thêm chứ, cái công thức lõi của @leonguyenz đã có sẵn, nay thêm tí xíu điều kiện nữa thôi:
D3=IF(AND(WEEKDAY(D$2,2)<6,NETWORKDAYS($B$3,D$2)<=$C3,D$2>=$B3),"x","") Hoặc
D3=IF(AND(WEEKDAY(D$2,2)<6,D$2<=WORKDAY($B3-1,$C3),D$2>=$B3),"x","")

Thân
Em đang ngồi nghiên cứu mà Anh,
Nếu Em dùng công thức này:
=IF(OR(TEXT(E$2,"[$-42A]dddd")<>"Thứ Bảy",TEXT(E$2,"[$-42A]dddd")<>"Chủ Nhật"),IF(AND(E$2>=$C3,$C3+$D3>E$2),"x",""))
vẫn sai sai chỗ nào ý, mong anh chỉ giáo thêm.
 
Em đoán mò thôi không biết có phải ý bạn ấy là như thế này không?
 

File đính kèm

  • Book1 (5).xlsx
    13.8 KB · Đọc: 5
Em đang ngồi nghiên cứu mà Anh,
Nếu Em dùng công thức này:
=IF(OR(TEXT(E$2,"[$-42A]dddd")<>"Thứ Bảy",TEXT(E$2,"[$-42A]dddd")<>"Chủ Nhật"),IF(AND(E$2>=$C3,$C3+$D3>E$2),"x",""))
vẫn sai sai chỗ nào ý, mong anh chỉ giáo thêm.
Bài đã được tự động gộp:


Em đang ngồi nghiên cứu mà Anh,
Nếu Em dùng công thức này:
=IF(OR(TEXT(E$2,"[$-42A]dddd")<>"Thứ Bảy",TEXT(E$2,"[$-42A]dddd")<>"Chủ Nhật"),IF(AND(E$2>=$C3,$C3+$D3>E$2),"x",""))
vẫn sai sai chỗ nào ý, mong anh chỉ giáo thêm.
Sai ở chỗ điều kiện:
$C3+$D3>E$2
Vì nó không thể tính được số ngày làm việc có hay không ngày T.7 và CN, cũng không thể gia giảm số ngày cần bù nếu số ngày làm việc phải "đi xuyên" qua 2 ngày đó.

Ngoài ra, nếu dùng hàm TEXT (), thì dùng TEXT(....,"ddd")<>"Sat" hoặc "Sun" sẽ gọn hơn.

Do tôi đang dùng "xì mát phôn" nên chỉ góp ý cho bạn được bấy nhiêu thôi!

Thân
 
Web KT
Back
Top Bottom