Dò và xuất dữ liệu lần lượt nhiều điều kiện. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Shadow SinX

Thành viên mới
Tham gia
16/6/09
Bài viết
12
Được thích
0
Các bạn mở file xem cho dễ hình dung.

Cột Result là kết quả mình mong muốn.

Mình có 2 sheet 1 và 2.

Ta dò lần lượt theo từng group với sheet 2.
- Item tại ô Group 1 khác với tất cả item của sheet 2 -> ra kết quả là ô trong group 1.
- Item tại ô Group 1 trùng với 1 trong những item của sheet 2 -> dò tiếp group 2.​
- Item tại ô Group 2 khác với tất cả item của sheet 2 -> ra kết quả là ô trong group 2.
- Item tại ô Group 2 trùng với 1 trong những item của sheet 2 -> dò tiếp group 3.
Tiếp tục cho hết 7 group.​
Nếu trùng hết 7 group hoặc trùng 1/2/3/4/5/6 group theo thứ tự từ lv 1 và những group sau trống thì ra kết quả là ô trong Code (ví dụ hàng 4, 6, 10 trong file).
 

File đính kèm

Các bạn mở file xem cho dễ hình dung.

Cột Result là kết quả mình mong muốn.

Mình có 2 sheet 1 và 2.

Ta dò lần lượt theo từng group với sheet 2.
- Item tại ô Group 1 khác với tất cả item của sheet 2 -> ra kết quả là ô trong group 1.
- Item tại ô Group 1 trùng với 1 trong những item của sheet 2 -> dò tiếp group 2.​
- Item tại ô Group 2 khác với tất cả item của sheet 2 -> ra kết quả là ô trong group 2.
- Item tại ô Group 2 trùng với 1 trong những item của sheet 2 -> dò tiếp group 3.
Tiếp tục cho hết 7 group.​
Nếu trùng hết 7 group hoặc trùng 1/2/3/4/5/6 group theo thứ tự từ lv 1 và những group sau trống thì ra kết quả là ô trong Code (ví dụ hàng 4, 6, 10 trong file).

Mã:
J2=IF(SUM(--(C2:I2=Sheet2!$B$1:$B$17))=COUNTA(C2:I2),B2,INDEX(C2:I2,MATCH(0,COUNTIF(Sheet2!$B$1:$B$17,Sheet1!C2:I2),0)))
Ctrl+Shift+Enter
 
Upvote 0
bạn giải thích hàm trên cho mình được không? mình không hiểu lắm.

ví dụ như COUNTIF(Sheet2!$B$1:$B$17,Sheet1!C2:I2) sẽ ra giá trị là 0. và hàm match sẽ là match (0,0,0) không ra giá trị.

cám ơn bạn.


COUNTIF(Sheet2!$B$1:$B$17,Sheet1!C2:I2) sẽ ra giá trị là mãng {0,0,0,0,0,0,0}
Match(0,{0,0,0,0,0,0,0},0) sẽ ra giá trị 1 nghĩa là vị trí đầu tiên trong mãng nhìn thấy số 0
 
Upvote 0
COUNTIF(Sheet2!$B$1:$B$17,Sheet1!C2:I2) sẽ ra giá trị là mãng {0,0,0,0,0,0,0}
Match(0,{0,0,0,0,0,0,0},0) sẽ ra giá trị 1 nghĩa là vị trí đầu tiên trong mãng nhìn thấy số 0
Bạn ơi giúp mình thêm cái nữa.

Cũng là file hồi nãy nhưng mà thêm vào ý là những cái nào khác nhau thì liệt kê ra hết chứ ko chỉ ra cái đầu.

ví dụ:
line 3 sẽ ra kết quả là AA01 (ô J3) và AA04 (ô K3).
line 9 sẽ ra kết quả là C120 (ô J9), C122 (ô K9) và C124 (ô L9).

cám ơn bạn nhiều.
 
Upvote 0
Bạn ơi giúp mình thêm cái nữa.

Cũng là file hồi nãy nhưng mà thêm vào ý là những cái nào khác nhau thì liệt kê ra hết chứ ko chỉ ra cái đầu.

ví dụ:
line 3 sẽ ra kết quả là AA01 (ô J3) và AA04 (ô K3).
line 9 sẽ ra kết quả là C120 (ô J9), C122 (ô K9) và C124 (ô L9).

cám ơn bạn nhiều.

Mã:
J2=IF(COLUMN(A:A)>COUNTA($C2:$I2)-SUM(--($C2:$I2=Sheet2!$B$1:$B$17)),IF(COLUMN(A:A)=1,$B2,""),INDEX($A2:$I2,SMALL(IF(COUNTIF(Sheet2!$B$1:$B$17,$C2:$I2)+($C2:$I2="")=0,COLUMN($C:$I)),COLUMN(A:A))))
Ctrl+Shift+Enter
 
Upvote 0
Mã:
J2=IF(COLUMN(A:A)>COUNTA($C2:$I2)-SUM(--($C2:$I2=Sheet2!$B$1:$B$17)),IF(COLUMN(A:A)=1,$B2,""),INDEX($A2:$I2,SMALL(IF(COUNTIF(Sheet2!$B$1:$B$17,$C2:$I2)+($C2:$I2="")=0,COLUMN($C:$I)),COLUMN(A:A))))
Ctrl+Shift+Enter
bạn giải thích giúp mình cái đoạn code trong phần index với. Ngoài ra mình có 1 số thắc mắc sau:

1. chỗ COUNTIF(Sheet2!$B$1:$B$17,$C2:$I2) sẽ ra giá trị là gì? ý nghĩa thế nào
2. ($C2:$I2="") ra giá trị là FALSE trong mọi trường hợp -> sao mình + được để xét cho nó = 0
3. column($C:$I) ra giá trị là 3 trong mọi trường hợp (là vế TRUE của hàm IF) -> sao mình không để luôn là 3
4. column(A:A) là vế k của hàm SMALL -> vậy là mình thiếu cái vế FALSE của hàm IF

mình cám ơn nhiều
 
Upvote 0

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

Back
Top Bottom