Kết quả 1 đến 3 của 3

Chủ đề: Lọc bảng tính theo nhiều từ khác nhau

  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Lọc bảng tính theo nhiều từ khác nhau

    Em cần lọc bảng excel có thể lên vài ngàn, chục ngàn dòng, muốn lọc tất cả các ô có chứa 1 từ nào đó trong danh sách khoảng chục, hai chục từ bằng cách sort hay dùng hàm cũng được nhưng cần nhanh vì sort theo từng từ (hoặc em dùng contains thì cũng được 2 từ), hàm thì cần 1 hàm kết hợp tất cả các từ trên. Tìm cả sáng không ra nhờ các mẹ chỉa giáo giúp, thật sự rất cần vì công việc cần lọc nhiều và nhanh, xưa h em làm lâu quá.
    Em cảm ơn!


  2. #2
    hvcuong Guest
    Trích dẫn Gửi bởi levietson93
    Em cần lọc bảng excel có thể lên vài ngàn, chục ngàn dòng, muốn lọc tất cả các ô có chứa 1 từ nào đó trong danh sách khoảng chục, hai chục từ bằng cách sort hay dùng hàm cũng được nhưng cần nhanh vì sort theo từng từ (hoặc em dùng contains thì cũng được 2 từ), hàm thì cần 1 hàm kết hợp tất cả các từ trên. Tìm cả sáng không ra nhờ các mẹ chỉa giáo giúp, thật sự rất cần vì công việc cần lọc nhiều và nhanh, xưa h em làm lâu quá.
    Em cảm ơn!

    Dùng VBA lọc 1 phát cho xong, cỡ chục ngàn dòng mà dùng công thức chắc oải.

  3. #3
    mianguyen Guest
    công thức của bác quá hay, tiếc là em non quá nhìn vô muốn edit cũng không hiểu mô tê chi cả hix, còn non quá ak hic với nhiều loại dữ liệu khác em bó tay luôn [IMG]images/smilies/a36.gif[/IMG]

    Option Explicit

    Public Sub GPE()
    Dim sArr(), tArr(), dArr(), I As Long, J As Long, N As Long, K As Long
    sArr = Range("A2", Range("B2").End(xlDown)).Value
    tArr = Range("E2", Range("E2").End(xlDown)).Resize(, 2).Value
    ReDim dArr(1 To UBound(sArr), 1 To 2)
    For I = 1 To UBound(sArr)
    For N = 1 To UBound(tArr)
    If InStr(UCase(sArr(I, 2)), UCase(tArr(N, 1)) & " ") Or InStr(UCase(sArr(I, 2)), UCase(tArr(N, 2)) & " ") Then
    K = K + 1
    dArr(K, 1) = sArr(I, 1)
    dArr(K, 2) = sArr(I, 2)
    End If
    Next N
    Next I
    Range("C210000").ClearContents
    Range("C2").Resize(K, 2) = dArr
    End Sub

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •