
Kết quả từ dưới lên trênGiúp mình công thức lọc giá trị cột theo điều kiện mà không dùng VBA với nhé. Chi tiết mình xin để file đính kèm.
Cảm ơn mọi người nhiều.![]()
C2=IFERROR(INDIRECT("B"&SUMPRODUCT(LARGE(($A$2:$A$12="a")*ROW($A$2:$A$12),ROWS($D$2:D2)))),"")
Cho bạn cách khác dùng CT mảng, CT tại C2:Giúp mình công thức lọc giá trị cột theo điều kiện mà không dùng VBA với nhé. Chi tiết mình xin để file đính kèm.
Cảm ơn mọi người nhiều.![]()
C2=IFERROR(SMALL(IF($A$2:$A$12="a",ROW($1:$11)),ROW(A1)),"")



Cho bạn cách khác dùng CT mảng, CT tại C2:
Rồi fill xuống!!!Mã:C2=IFERROR(SMALL(IF($A$2:$A$12="a",ROW($1:$11)),ROW(A1)),"")
Ah, mình quên nói bạn phải bấm Ctrl+Shift+Enter!!! Bạn nhận file!!!Em fill mà ko được. Bác có thể add vào file cho em xem được không![]()
[c2]=IFERROR(INDEX($B$2:$B$12,SMALL(IF($A$2:$A$12="a",ROW($1:$11)),ROW(A1))),"")Ah, mình quên nói bạn phải bấm Ctrl+Shift+Enter!!! Bạn nhận file!!!
Nếu lấy cột B, thì sửa Row($1:$11) thành $B$2:$B$12, đâu cần dùng index đâu bạn:[c2]=IFERROR(INDEX($B$2:$B$12,SMALL(IF($A$2:$A$12="a",ROW($1:$11)),ROW(A1))),"")
Em nghĩ phải lồng thêm hàm Index vào. bởi vì người ta muốn lấy tương sang cột B
C2=IFERROR(SMALL(IF($A$2:$A$12="a",$B$2:$B$12),ROW(A1)),"")
Bạn sửa CT lại như vầy xem:Bác ơi, ý em là muốn lấy giá trị tương ứng ở cột bên cạnh, và cột bên cạnh nó ko phải là xếp theo thứ tự từ 1 đến 11 đâu ợ nên khi em áp dụng vào bảng thật của em là giá trị ngẫu nhiên nó toàn xuất ra theo số thứ tự
C1=IFERROR(INDEX($B$1:$B$12,SMALL(IF($A$1:$A$12="a",ROW($1:$[B][SIZE=4][COLOR=#ff0000]12[/COLOR][/SIZE][/B])),ROW(A1))),"")
Mình không biết VBA rồi, vậy bạn chờ các anh chị khác giúp bạn!!!Có thể giúp em bằng VBA được không ạ. Tại em nhiều bảng dữ liệu nên khi đưa công thức vào thấy nó bắt đầu ỳ ạch ạ![]()

Chạy đoạn code dưới đây.Giúp mình công thức lọc giá trị cột theo điều kiện. Được VBA thì càng tốt ạ tại Bảng dữ liệu mình nhiều dùng công thức bị ì ạch ạ . Chi tiết mình xin để file đính kèm.
Cảm ơn mọi người nhiều.![]()
Public Sub Ohho84()
Dim Source, Result(), Cnd, i As Long, j As Long
Source = Sheet1.Range("A2", Sheet1.Range("B65000").End(xlUp))
ReDim Result(1 To UBound(Source), 1 To 1)
Cnd = "a"
For i = 1 To UBound(Source)
If Source(i, 1) = Cnd Then
j = j + 1
Result(j, 1) = Source(i, 2)
End If
Next i
With Sheet1
.Range("C2").Resize(UBound(Source), 1).ClearContents
.Range("C2").Resize(j, 1) = Result
End With
End Sub
Có thể giúp em bằng VBA được không ạ. Tại em nhiều bảng dữ liệu nên khi đưa công thức vào thấy nó bắt đầu ỳ ạch ạ![]()
Sub Macro1()
dk = InputBox("Nhap dieu kien loc tai cot A vo")
Range("C2:C1000").ClearContents
Range("A1:B12").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$B$12").AutoFilter Field:=1, Criteria1:=dk
Range("B2:B1000").Select
Selection.Copy
Range("C2").Select
ActiveSheet.Paste
Range("A1:B11").Select
Application.CutCopyMode = False
Selection.AutoFilter
[C1].Select
End Sub
Thử cái này coiCó thể giúp em bằng VBA được không ạ. Tại em nhiều bảng dữ liệu nên khi đưa công thức vào thấy nó bắt đầu ỳ ạch ạ![]()
=LOOKUP(1,1/(COUNTIF(A$2:A$12,"a")-COUNTIF(OFFSET(A$12,,,ROW(A$2:A$12)-ROW(A$12)-1),"a")=ROWS(C1:C$1)-1)/(A$2:A$12="a"),B$2:B$12)



Góp vui thêm 1 code VBACó thể giúp em bằng VBA được không ạ. Tại em nhiều bảng dữ liệu nên khi đưa công thức vào thấy nó bắt đầu ỳ ạch ạ![]()
Sub Loc()
Set cn = CreateObject("ADODB.Connection")
Range("C2:C" & Range("C65000").End(3).Row).ClearContents
cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";")
Range("C2").CopyFromRecordset cn.Execute("Select f2 from [A2:B" & Range("A65000").End(3).Row & "] where f1 like 'a'")
End Sub


Giúp mình công thức lọc giá trị cột theo điều kiện. Được VBA thì càng tốt ạ tại Bảng dữ liệu mình nhiều dùng công thức bị ì ạch ạ . Chi tiết mình xin để file đính kèm.
Cảm ơn mọi người nhiều.![]()


Chi tiết em đính kèm ở file ạ.
Góp vui thêm 1 code VBA
Mã:Sub Loc() Set cn = CreateObject("ADODB.Connection") Range("C2:C" & Range("C65000").End(3).Row).ClearContents cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";") Range("C2").CopyFromRecordset cn.Execute("Select f2 from [A2:B" & Range("A65000").End(3).Row & "] where f1 like 'a'") End Sub
Mình làm thử không biết có đúng ý bạn khôngHix khi em áp dụng vào bảng dữ liệu thật là có chút vấn đề. Đây là em nó như ở file em đính kèm ạ. Xin mọi người ra tay cứu trợ em lần nữa ạ![]()
Mình làm thử không biết có đúng ý bạn không
Mình thấy bên Topic Giúp xuất dữ liệu tham chiếu qua 1 cột bằng VBA theo dạng Danh mục mấy anh đã làm cho bạn rồi mà. mà sao bạn theo dõi bán hàng mà lại không có ngày bán nhỉ ( Thấy hơi lạ). Còn không in cột I nữa thì mình không cho nó lấy sang là xong./Chuẩn cơm mẹ nấu rồi bác ơi nhưng bác sửa lại giùm em là không in dữ liệu ra cột I được không bác![]()