Các bác giúp em lọc dữ liệu (3 người xem)

Liên hệ QC

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

nghinews

Thành viên mới
Tham gia
29/4/09
Bài viết
21
Được thích
0
Các bác giúp em lọc dữ liệu vào sheet th từ các goi1,2,3. Em dung ham inderect ma kô được mong các bác chỉ giáo, em xin đa tạ
 

File đính kèm

Hàm của bạn là thế này: INDIRECT($H$1:$H$3&"!B2:D4"), mình nghĩ chưa đúng ở phần tô màu. Hãy bỏ $H$3 đi, nó sẽ tìm trong sheet Goi1, nếu dùng $H$2 thì nó sẽ tìm trong Goi2, và nếu dùng $H$3 nó sẽ tìm trong gói 3. Với file của bạn, theo mình nên tổng hợp một sheet với 2 dữ kiện là mã vật tư và tên vật tư tương ứng. Sau đó số lượng thì dùng sumif. Để tổng hợp mã vật tư và tên vật tư, hãy tham khảo những bài "lọc dữ liệu không trùng" trên diễn đàn (dùng công thức mảng).
 
Lần chỉnh sửa cuối:
Bac nói rõ cho em chỗ chưa đúng phần tô màu là thế nào ạ, em van chua lam duoc
 
Bac nói rõ cho em chỗ chưa đúng phần tô màu là thế nào ạ, em van chua lam duoc
Mình hiểu thế này: Hàm indirect() giúp nối chuỗi lại thành 1 chuỗi "có nghĩa". Như vậy nếu dùng hàm như bạn thì nó trả kết quả là Goi1Goi2Goi3!B2:B4, kết quả đó không tham chiếu đến vùng nào cả nên báo lỗi. Nếu chỉ dùng 1 cell thôi (ví dụ $H$1) thì nó trả kết quả là Goi1!B2:B4, như vậy là đã có vùng tham chiếu là sheet Goi1 vùng B2:B4.
 
nhưng bây giờ em muốn dò trong ba bảng thì phải làm thế nào
 
Lần chỉnh sửa cuối:
Các bác giúp em lọc dữ liệu vào sheet th từ các goi1,2,3. Em dung ham inderect ma kô được mong các bác chỉ giáo, em xin đa tạ

Công thức cho cell C2:
Mã:
=IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&$H$1:$H$3&"'!B2:B100"),$B2)),VLOOKUP($B2,INDIRECT(LOOKUP(2,1/COUNTIF(INDIRECT("'"&$H$1:$H$3&"'!B2:B100"),$B2),"'"&$H$1:$H$3&"'!B2:D100")),2,0),"")
Công thức cho cell D2:
Mã:
=IF($C2="","",VLOOKUP($B2,INDIRECT(LOOKUP(2,1/COUNTIF(INDIRECT("'"&$H$1:$H$3&"'!B2:B100"),$B2),"'"&$H$1:$H$3&"'!B2:D100")),3,0))
 
giá trị số lượng của novocain không đúng bác ah, phải là 19 chứ
 
giá trị số lượng của novocain không đúng bác ah, phải là 19 chứ
Dùng LOOKUP thì nó lây giá trị cuối cùng tìm thấy
Bạn xem lại 2 sheet GOI1 và GOI2 có dữ liệu trùng nhé (cụ thể là Mã VT 1NO) ---> Vậy nên kết quả trả về sẽ là số lượng tương ứng với 1NO ở sheet GOI2, tức =23 (mà không phải là ở GOI1 = 19)
Nếu muốn lấy giá trì đầu tiên tìm thấy thì thay LOOKUP bằng INDEX + MATCH
Bạn tự nghiên cứu đi
 
Lần chỉnh sửa cuối:
Tôi không rõ ý của bạn lắm. Công thức này sẽ trả về kết quả lần lượt từ GOI1 đến GOI3. Nếu cả 3 gói không có giá trị thì không hiện gì.

=IFERROR(VLOOKUP(B3,INDIRECT($H$1&"!B2:D4"),2,0),IFERROR(VLOOKUP(B3,INDIRECT($H$2&"!B2:D4"),2,0),IFERROR(VLOOKUP(B3,INDIRECT($H$3&"!B2:D4"),2,0),"")))
 
Tôi không rõ ý của bạn lắm. Công thức này sẽ trả về kết quả lần lượt từ GOI1 đến GOI3. Nếu cả 3 gói không có giá trị thì không hiện gì.

=IFERROR(VLOOKUP(B3,INDIRECT($H$1&"!B2:D4"),2,0),IFERROR(VLOOKUP(B3,INDIRECT($H$2&"!B2:D4"),2,0),IFERROR(VLOOKUP(B3,INDIRECT($H$3&"!B2:D4"),2,0),"")))
Tôi dám chắc rằng số lượng sheet không chỉ có 3sheet như file giả lập đâu, vì thế mới cần 1 công thức tổng quát áp dụng cho bao nhiêu sheet tùy ý
Đặt trường hợp là 30 sheet thì bạn viết sao?
 
Cảm ơn bác nhiều lắm

cảm ơn bác, nhưng có chỗ 2,1/COUNTIF em chưa hiểu lắm, bác chỉ giáo cho em với, mà bác có lệnh index match thì hướng dẫn cho em luôn được không, cảm ơn bác nhiiiu
 
em xin đa tạ bác ndu96081631, bác chỉ giáo hàm index match được ko?
 
em xin đa tạ bác ndu96081631, bác chỉ giáo hàm index match được ko?

Dùng INDEX và MATCH thì vầy:
- Công thức tại C2:
Mã:
=IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&$H$1:$H$3&"'!B2:B100"),$B2)),VLOOKUP($B2,INDIRECT("'"&INDEX($H$1:$H$3,MATCH(1,COUNTIF(INDIRECT("'"&$H$1:$H$3&"'!B2:B100"),$B2),0))&"'!B2:D100"),2,0),"")
- Công thức tại D2:
Mã:
=IF($C2="","",VLOOKUP($B2,INDIRECT("'"&INDEX($H$1:$H$3,MATCH(1,COUNTIF(INDIRECT("'"&$H$1:$H$3&"'!B2:B100"),$B2),0))&"'!B2:D100"),3,0))
Lưu ý quan trọng: Với 2 công thức này, gõ xong phải bấm tổ hợp phím Ctrl + Shift + Enter (dùng LOOKUP thì không cần)
 
Xin đa tạ cao thủ

Bác giỏi quá, có tài liệu exel nào hay bác chia sẻ cho em với, em gà quá
 
Web KT

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

Back
Top Bottom