Bình thường, dùng hàm vlookup thì em biết làm, nhưng với trường hợp cột dò tìm ko phải là cột đầu tiên, mà ở giữa thì việc lấy dữ liệu phải làm sao. Em có file đính kèm, anh em diễn đàn coi và giúp em với. Em xin cám ơn !!!
=IFERROR(INDEX($B$5:$F$14,SMALL(IF($E$5:$E$14=$H$16,ROW(INDIRECT("1:"&ROWS($B$5:$F$14))),""),ROWS($1:2)),1),"")<---- ctrl +shift + enter
Bình thường hàm vlookup cũng chỉ trả về được 1 giá trị tìm thấy, trong file bạn có 2 tên cùng mã lớp K01 --> xin hỏi bạn muốn lấy cả 2 tên hay thế nào ! <------
Mình muốn lấy tất cả các giá trị nào liên quan tới mã lớp, tức là một lớp có thể có 2 hoặc 3 người, không dùng hàm vlookup, miễn là lấy được đầy đủ thông tin của mã lớp đó.
Trong một lớp thì có nhiều sinh viên tìm theo mã lớp để có mã sinh viên và họ tên thì mình nghĩ không thể.Bình thường, dùng hàm vlookup thì em biết làm, nhưng với trường hợp cột dò tìm ko phải là cột đầu tiên, mà ở giữa thì việc lấy dữ liệu phải làm sao. Em có file đính kèm, anh em diễn đàn coi và giúp em với. Em xin cám ơn !!!
Dùng 1 name cho gọn công thứcMình muốn lấy tất cả các giá trị nào liên quan tới mã lớp, tức là một lớp có thể có 2 hoặc 3 người, không dùng hàm vlookup, miễn là lấy được đầy đủ thông tin của mã lớp đó.
Mình muốn lấy tất cả các giá trị nào liên quan tới mã lớp, tức là một lớp có thể có 2 hoặc 3 người, không dùng hàm vlookup, miễn là lấy được đầy đủ thông tin của mã lớp đó.
=IF($H$16=E5,MAX($G$4:$G4)+1,"")
=IF(ROWS($1:1)>COUNTIF($E$5:$E$14,$H$16),"",ROWS($1:1))
=IF($F19="","",LOOKUP($F19,$G$5:$G$14,B$5:B$14))
Hay wa bac ndu oi. Thanks bac !!!Bài này dùng công thức mảng không có vấn đề (diễn đàn có đầy những bài tương tự)
Ở đây tôi muốn giới thiệu cho bạn 1 cách khác đơn giản hơn:
- Tạo cột phụ để đánh dấu các giá trị thỏa mản điều kiện. Cụ thể tại G5, gõ công thức:
kéo fill G5 đến G14. Cột phụ này sẽ đánh dấu những giá trị mà cột E = H16Mã:=IF($H$16=E5,MAX($G$4:$G4)+1,"")
- Ở phần báo cáo, cũng tạo cột phụ tại cột F. Cụ thể tại F19, gõ công thức:
kéo fill F19 đến F30Mã:=IF(ROWS($1:1)>COUNTIF($E$5:$E$14,$H$16),"",ROWS($1:1))
- Công thức cho G19:
Kéo fill xuống dưới và sang phảiMã:=IF($F19="","",LOOKUP($F19,$G$5:$G$14,B$5:B$14))
Xong!
Bình thường hàm vlookup cũng chỉ trả về được 1 giá trị tìm thấy, trong file bạn có 2 tên cùng mã lớp K01 --> xin hỏi bạn muốn lấy cả 2 tên hay thế nào ! <------
có khi công thức ô G19 bạn muốn như vậy :
muốn lấy dữ liệu cột nào thì sửa số 1 thành số tương ứng!PHP:=IFERROR(INDEX($B$5:$F$14,SMALL(IF($E$5:$E$14=$H$16,ROW(INDIRECT("1:"&ROWS($B$5:$F$14))),""),ROWS($1:2)),1),"")<---- ctrl +shift + enter
IFERROR chỉ dùng được từ excel 2007 trở lên, --> với 2003 bạn tự vọc nhé!Chào ban,
Tôi đã nhập công thức vào bảng nhưng không ra kết quả, không biết sai ở chổ nào. Bạn vui lòng mở file chỉnh lại công thức và update lại giúp nha( tôi đã xóa những dòng và cột đầu không có dữ liêu sau đó ching lại array) . Cám ơn
IFERROR chỉ dùng được từ excel 2007 trở lên, --> với 2003 bạn tự vọc nhé!
Mình cũng học được diễn dàn bằng cách cho lọc AvanFilter tự động dùng VBA
nhờ Anh HUngpecc1 đã viết Code này kiểm tra giúp em khi sóa đỡ 1 tiêu đề lọc vẫn bị lỗi
Ví dụ xóa ô J19
nó là excel2007 đó bạn ơi. Mình đổi tên lại xlsx
?? mình thấy vẫn bình thường mà !