Giúp lọc dữ liệu theo điều kiện mã hàng và gán qua sheet khác (2 người xem)

Liên hệ QC

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

huyhoang683

Thành viên mới
Tham gia
15/11/11
Bài viết
3
Được thích
0
Xin chào các anh chị và các bạn. Nhờ các anh chị lập công thức giúp theo file đính kèm. Cám ơn nhiều.
 

File đính kèm

Như thế này à, xem file đính kèm nhé!
 

File đính kèm

Đúng như ý mình muốn. Cám ơn bạn nhiều.

Bạn có thể giải thích về các hàm đã sử dụng không? Mình chưa hiểu lắm???
Trong file có 2 name là name xuat1 và name xuat2, bạn bấm ctrl+F3 để xem name!

- Name xuat1 được tạo ra với 2 điều kiện : nếu dòng nào mà chứa dữ liệu bên cột A (A4 :A31) của sheet PN bằng với mã được nhập tại cell A4 trong sheet PX1 và đơn vị tính là KG thì đánh số thứ tự các dòng đó bằng hàm Row.

- Name xuat2 được tạo ra với 2 điều kiện : nếu dòng nào mà chứa dữ liệu bên cột A (A4 :A31) của sheet PN bằng với mã hàng đc nhập tại cell A4 trong sheet PX2 và đơn vị tính là CÁI thì đánh số thứ tự các dòng đó bằng hàm Row.

Sau đó dùng hàm Index kết hợp Small trích xuất dữ liệu ra thôi. Phương pháp làm chung là như vậy !

Còn cách sử dụng các hàm đó như thế nào bạn tự tìm hiểu nhé! Mới xem có thể khó hiểu chút nhưng ngâm cứu từ từ sẽ có ích cho bạn. Chứ giải thích cái này nữa chắc chết, hì hì!
 
Lần chỉnh sửa cuối:
Trong file có 2 name là name xuat1 và name xuat2, bạn bấm ctrl+F3 để xem name!

- Name xuat1 được tạo ra với 2 điều kiện : nếu dòng nào mà chứa dữ liệu bên cột A (A4 :A31) của sheet PN bằng với mã được nhập tại cell A4 trong sheet PX1 và đơn vị tính là KG thì đánh số thứ tự các dòng đó bằng hàm Row.

- Name xuat2 được tạo ra với 2 điều kiện : nếu dòng nào mà chứa dữ liệu bên cột A (A4 :A31) của sheet PN bằng với mã hàng đc nhập tại cell A4 trong sheet PX2 và đơn vị tính là CÁI thì đánh số thứ tự các dòng đó bằng hàm Row.

Sau đó dùng hàm Index kết hợp Small trích xuất dữ liệu ra thôi. Phương pháp làm chung là như vậy !

Còn cách sử dụng các hàm đó như thế nào bạn tự tìm hiểu nhé! Mới xem có thể khó hiểu chút nhưng ngâm cứu từ từ sẽ có ích cho bạn. Chứ giải thích cái này nữa chắc chết, hì hì!

[TABLE="width: 261"]
[TR]
[TD]xuat1[/TD]
[TD]=IF((PN!$A$4:$A$31=PX1!$A$4)*(PN!$E$4:$E$31=PN!$E$4),ROW(PN!$A$4:$A$31)-3,"")[/TD]
[/TR]
[TR]
[TD]xuat2[/TD]
[TD]=IF((PN!$A$4:$A$31=PX1!$A$4)*(PN!$E$4:$E$31=PN!$E$10),ROW(PN!$A$4:$A$31)-3,"")
[/TD]
[/TR]
[/TABLE]
Nhờ bạn giải thích giùm ROW(PN!$A$4:$A$31)-3: "-3" có ý nghĩa gì vậy.

Cám ơn bạn nhiều.
 
xuat1
=IF((PN!$A$4:$A$31=PX1!$A$4)*(PN!$E$4:$E$31=PN!$E$4),ROW(PN!$A$4:$A$31)-3,"")
xuat2
=IF((PN!$A$4:$A$31=PX1!$A$4)*(PN!$E$4:$E$31=PN!$E$10),ROW(PN!$A$4:$A$31)-3,"")

Nhờ bạn giải thích giùm ROW(PN!$A$4:$A$31)-3: "-3" có ý nghĩa gì vậy.

-3 ở đây thì 3= chỉ số hàng đầu bên dữ liệu của sheets PN (là 4) -1 (vì dữ liệu đó bắt đầu từ A4) ==> nhằm mục đích lấy số thứ tự vị trí của dữ liệu tìm được trong dãy ROW(PN!$A$4:$A$31)-3 __ ví như Công thức tìm được phần tử thỏa mãn tại A10 khi đó ROW(PN!$A$4:$A$31)-3 = ROW(PN!$A$10)-3=7 __ 7 chính là thứ tự của A10 trong dãy A4:A10

tổng quát thì bạn có thể đổi 3 trong 2 name thành ROW(PN!$A$4)-1, do đó 2 năm trên thành

xuat1
=IF((PN!$A$4:$A$31=PX1!$A$4)*(PN!$E$4:$E$31=PN!$E$4),ROW(PN!$A$4:$A$31)-,ROW(PN!$A$4)+1"")
xuat2
=IF((PN!$A$4:$A$31=PX1!$A$4)*(PN!$E$4:$E$31=PN!$E$10),ROW(PN!$A$4:$A$31)-ROW(PN!$A$4)+1,"")

khi này thì bên sheet PN có thể chèn dòng trước dòng 4 (vị trí dòng bắt đầu thay đổi sang dòng 5 dòng 6 ....) thì NAME cũng không cần thay đổi, vì Công thức của nó tự đổi theo (tương ứng)
 
Web KT

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

Back
Top Bottom