timhocexcel
Thành viên chính thức
![](/diendan/data/PhoToDanhHieu/gold.gif)
![](/diendan/data/PhoToDanhHieu/gold.gif)
- Tham gia
- 5/12/18
- Bài viết
- 86
- Được thích
- 24
Đặt name Data:Nội dung em để trong file, nhờ các bạn giúp em công thức
=Sheet1!$A$2:$K$7
=IF(OFFSET(Data,,,,1)=LOOKUP("zz",'ket qua'!$A$2:$A2),ROW(Data)-1,"")
=INDEX(Data,SMALL(Pos,ROW($A2)-MATCH(LOOKUP("zz",$A$2:$A2),$A$2:$A$7,0)),COLUMN(B$1))
Bạn chỉnh sửa giúp mình trường hợp mã hàng rỗng thì dữ liệu bên sheet kết quả sẽ là rỗng, nếu cột mã hàng rỗng mà hiện chữ #NUM! thì khi in sẽ có chữ #NUM!Đặt name Data:
Đặt name Pos lấy vị trí thỏa mãn điều kiện mã hàng:Mã:=Sheet1!$A$2:$K$7
Công thức ở sheet ket qua, B2:Mã:=IF(OFFSET(Data,,,,1)=LOOKUP("zz",'ket qua'!$A$2:$A2),ROW(Data)-1,"")
Mã:=INDEX(Data,SMALL(Pos,ROW($A2)-MATCH(LOOKUP("zz",$A$2:$A2),$A$2:$A$7,0)),COLUMN(B$1))
Bạn thêmBạn chỉnh sửa giúp mình trường hợp mã hàng rỗng thì dữ liệu bên sheet kết quả sẽ là rỗng, nếu cột mã hàng rỗng mà hiện chữ #NUM! thì khi in sẽ có chữ #NUM!
=IFERROR(...............,"")
Cảm ơn bạn.Bạn thêm
Mã:=IFERROR(...............,"")
Bạn sửa giúp mình công thức nếu kết quả không ở dòng thứ 2 mà kết quả bắt đầu từ dòng thứ 7, thì sửa công thức như thế nào, nhờ bạn giúp.Đặt name Data:
Đặt name Pos lấy vị trí thỏa mãn điều kiện mã hàng:Mã:=Sheet1!$A$2:$K$7
Công thức ở sheet ket qua, B2:Mã:=IF(OFFSET(Data,,,,1)=LOOKUP("zz",'ket qua'!$A$2:$A2),ROW(Data)-1,"")
Mã:=INDEX(Data,SMALL(Pos,ROW($A2)-MATCH(LOOKUP("zz",$A$2:$A2),$A$2:$A$7,0)),COLUMN(B$1))
Thử: Sheet "ket qua"Bạn sửa giúp mình công thức nếu kết quả không ở dòng thứ 2 mà kết quả bắt đầu từ dòng thứ 7, thì sửa công thức như thế nào, nhờ bạn giúp.
B2=IFERROR(VLOOKUP(LOOKUP("zz",$A$1:$A2),Sheet1!$A$2:$K$8,MATCH(B$1,Sheet1!$A$1:$K$1,),),"")
Bạn ơi, công thức của bạn là bắt buột phải nhập hết 4 mã hàng, nếu trường hợp mình nhập 1 mã hàng thì không áp dụng được.Thử: Sheet "ket qua"
Enter, fill qua phải rồi fill cả hàng xuống.Mã:B2=IFERROR(VLOOKUP(LOOKUP("zz",$A$1:$A2),Sheet1!$A$2:$K$8,MATCH(B$1,Sheet1!$A$1:$K$1,),),"")
Thân
Giờ tôi mới hiểu bạn muốn điều gì! Điều chỉnh:Bạn ơi, công thức của bạn là bắt buột phải nhập hết 4 mã hàng, nếu trường hợp mình nhập 1 mã hàng thì không áp dụng được.
B2=IF(ROW()-MATCH(LOOKUP("zz",$A$1:$A2),$A$1:$A2,)+1<=COUNTIF(Sheet1!$A$2:$A$100,LOOKUP("zz",$A$1:$A2)),IFERROR(VLOOKUP(LOOKUP("zz",$A$1:$A2),Sheet1!$A$2:$K$100,MATCH(B$1,Sheet1!$A$1:$K$1,),),""),"")
Quá tuyệt, không biết đến bao giờ mình mới làm được công thức như vậy.Giờ tôi mới hiểu bạn muốn điều gì! Điều chỉnh:
Chỉ Enter.Mã:B2=IF(ROW()-MATCH(LOOKUP("zz",$A$1:$A2),$A$1:$A2,)+1<=COUNTIF(Sheet1!$A$2:$A$100,LOOKUP("zz",$A$1:$A2)),IFERROR(VLOOKUP(LOOKUP("zz",$A$1:$A2),Sheet1!$A$2:$K$100,MATCH(B$1,Sheet1!$A$1:$K$1,),),""),"")
Thân
Mình thấy file này cũng tương tự dữ liệu của mình, nhưng dữ liệu giữa các cột tiêu đề có khác hoặc rỗng, chỉ cần mã hàng giống nhau là sheet kết quả liệt kê tất cả các dữ liệu có cùng mã hàng đóGiờ tôi mới hiểu bạn muốn điều gì! Điều chỉnh:
Chỉ Enter.Mã:B2=IF(ROW()-MATCH(LOOKUP("zz",$A$1:$A2),$A$1:$A2,)+1<=COUNTIF(Sheet1!$A$2:$A$100,LOOKUP("zz",$A$1:$A2)),IFERROR(VLOOKUP(LOOKUP("zz",$A$1:$A2),Sheet1!$A$2:$K$100,MATCH(B$1,Sheet1!$A$1:$K$1,),),""),"")
Thân
Giả sử cùng mã nhưng dữ liệu các dòng khác nhau thì lagm sao anhGiờ tôi mới hiểu bạn muốn điều gì! Điều chỉnh:
Chỉ Enter.Mã:B2=IF(ROW()-MATCH(LOOKUP("zz",$A$1:$A2),$A$1:$A2,)+1<=COUNTIF(Sheet1!$A$2:$A$100,LOOKUP("zz",$A$1:$A2)),IFERROR(VLOOKUP(LOOKUP("zz",$A$1:$A2),Sheet1!$A$2:$K$100,MATCH(B$1,Sheet1!$A$1:$K$1,),),""),"")
Thân
Giống @Alibaba_ hỏiGiả sử cùng mã nhưng dữ liệu các dòng khác nhau thì lagm sao anh![]()
Mình thấy file này cũng tương tự dữ liệu của mình, nhưng dữ liệu giữa các cột tiêu đề có khác hoặc rỗng, chỉ cần mã hàng giống nhau là sheet kết quả liệt kê tất cả các dữ liệu có cùng mã hàng đó
B2=IFERROR(T(OFFSET(Sheet1!B$1,AGGREGATE(15,6,ROW($1:$1000)/(LOOKUP("zz",$A$1:$A2)=Sheet1!$A$2:$A$1000),ROW()-MATCH(LOOKUP("zz",$A$1:$A2),$A$1:$A2,)+1),)),"")
Bạn xem chỉnh công thức lại giùm mình, nếu dữ liệu là Text thì áp dụng được, nếu dữ liệu là số thì công thức này không áp dụng được.Giống @Alibaba_ hỏi
Trả lời chung: thì phải làm công thức "nặng hơn"
Chỉ Enter. Fill qua phải, rồi fill cả hàng xuống.Mã:B2=IFERROR(T(OFFSET(Sheet1!B$1,AGGREGATE(15,6,ROW($1:$1000)/(LOOKUP("zz",$A$1:$A2)=Sheet1!$A$2:$A$1000),ROW()-MATCH(LOOKUP("zz",$A$1:$A2),$A$1:$A2,)+1),)),"")
Công thức trên dùng Vlookup() sẽ nhẹ hơn công thức mảng Aggregate().
Thân
Gắn thêm sau hàm "T" ba chữ "RIM" là xong.Bạn xem chỉnh công thức lại giùm mình, nếu dữ liệu là Text thì áp dụng được, nếu dữ liệu là số thì công thức này không áp dụng được.
Cảm ơn bạn.Gắn thêm sau hàm "T" ba chữ "RIM" là xong.
Thân
Hoặc bỏ thử hàm T() xem sao.Gắn thêm sau hàm "T" ba chữ "RIM" là xong.
Thân
Nếu ô rỗng, nó lồi ra thằng "0" khó ưa, em trai!Hoặc bỏ thử hàm T() xem sao.
Hàm aggregate trong excel 2007 không có hả gì vậy bạn, công thức này áp dụng trên excel 2013 bình thường, nhưng qua máy excel 2007 thì không áp dụng được, nhờ bạn sửa công thức có thể áp dụng trên excel 2007.Giống @Alibaba_ hỏi
Trả lời chung: thì phải làm công thức "nặng hơn"
Chỉ Enter. Fill qua phải, rồi fill cả hàng xuống.Mã:B2=IFERROR(T(OFFSET(Sheet1!B$1,AGGREGATE(15,6,ROW($1:$1000)/(LOOKUP("zz",$A$1:$A2)=Sheet1!$A$2:$A$1000),ROW()-MATCH(LOOKUP("zz",$A$1:$A2),$A$1:$A2,)+1),)),"")
Công thức trên dùng Vlookup() sẽ nhẹ hơn công thức mảng Aggregate().
Thân