Option Explicit
Function Arr_(Num As Byte, Rng As Range)
Dim Rws As Long, Jj As Integer, sRng As Range, Cls As Range
Rws = Rng.Rows.Count
ReDim Arr(1 To Rws)
Set sRng = Rng.Find(Num, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
For Each Cls In Range(sRng, Rng(Rws))
If Cls.Value = Num Then
Jj = Jj + 1
Arr(Jj) = Cls.Offset(, 1).Value
End If
Next Cls
End If
For Rws = Jj + 1 To Rws
Arr(Rws) = ""
Next Rws
Arr_ = WorksheetFunction.Transpose(Arr())
End Function
Công thức đương nhiên là được ---> Hãy tìm các bài toán liên quan đến lọc dữ liệu theo điều kiện nhéMình có 2 cột dữ liệu: Ngày và ĐH
Mình muốn tạo một CT để lọc dữ liệu ĐH tương ứng với 1 ngày nào đó như file đính kèm
Ai biết giúp mình nhé !!!
Đầu tiên bạn chép đoạn mã này vô module1:
PHP:Option Explicit Function Arr_(Num As Byte, Rng As Range) Dim Rws As Long, Jj As Integer, sRng As Range, Cls As Range Rws = Rng.Rows.Count ReDim Arr(1 To Rws) Set sRng = Rng.Find(Num, , xlFormulas, xlWhole) If Not sRng Is Nothing Then For Each Cls In Range(sRng, Rng(Rws)) If Cls.Value = Num Then Jj = Jj + 1 Arr(Jj) = Cls.Offset(, 1).Value End If Next Cls End If For Rws = Jj + 1 To Rws Arr(Rws) = "" Next Rws Arr_ = WorksheetFunction.Transpose(Arr()) End Function
Bước hai:
Bạn dùng chuộc chọn vùng I8:i13 & bấm chuộc lên thanh công thức & nhập cú fáp:
=Arr_(D12,D717)
Cuối cùng là bấm tổ hợp fím dành cho hàm mảng.
(húc thành công & những mong khỏi đưa file lên!
Công thức đương nhiên là được ---> Hãy tìm các bài toán liên quan đến lọc dữ liệu theo điều kiện nhé
Tuy nhiên, tôi cho rằng bài này dùng Advanced Filter là nhanh nhất:
[video=youtube;DOpFr3iF8rM]http://www.youtube.com/watch?v=DOpFr3iF8rM&feature=youtu.be[/video]
B2 - OK
Bước 1 : không biết cái module1 ở đâu