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

Chủ đề: Lọc theo 2 điều kiện

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

    Lọc theo 2 điều kiện

    Chào các anh chị ,
    Nhờ các anh chị chỉ giúp em cách lọc dữ liệu theo 2 điều kiện như trong file đính kèm.
    em cũng có đọc 1 số bài viết trên GPE về lọc dữ liệu theo nhiều điều kiện, nhưng chắc em không hiểu được nên vẫn không áp dụng được vào bài này.
    Xin cảm ơn

  2. #2
    tientho90 Guest
    Cái này dùng VBA để làm tự động thì hay hơn nhiều, sử dụng DIC lấy duy nhất, song song đó thì cộng dồn tổng tiền của từng người. Hiện tại tôi đang check bằng đt nên chỉ cho bạn hướng làm như vậy. Đề tài này chắc chắn sẽ có người giúp bạn

  3. #3
    huong2211hd Guest
    Trích dẫn Gửi bởi phihndhsp
    Cái này dùng VBA để làm tự động thì hay hơn nhiều, sử dụng DIC lấy duy nhất, song song đó thì cộng dồn tổng tiền của từng người. Hiện tại tôi đang check bằng đt nên chỉ cho bạn hướng làm như vậy. Đề tài này chắc chắn sẽ có người giúp bạn
    Ngứa tay làm đại cho bạn, tôi chưa có bẫy lỗi gì nhiều, bạn có thể tự phát triển thêm

    Mã:
    Sub GPE()
    Dim Arr(), i As Long
    Dim Rng As Range
    Dim Dic As Object
    Dim LastR As Long
    Dim K As Long
    Dim R As Long
    Dim Thang As Long
    Dim TenNV
    Thang = Sheet1.Range("H1").Value
    TenNV = Sheet1.Range("H2").Value
    Set Dic = CreateObject("Scripting.Dictionary")
    LastR = Sheet1.Range("A65000").End(xlUp).Row
    Set Rng = Sheet1.Range("A2:D" & LastR)
    ReDim Arr(1 To LastR - 1, 1 To 2)
    
    
    K = 0
    For i = 1 To UBound(Arr)
      If ((Month(Rng(i, 1).Value) = Thang) And (Rng(i, 4).Value = TenNV)) Then
          If Not Dic.exists(Rng(i, 2).Value) Then
            K = K + 1
            Dic.Add Rng(i, 2).Value, K
            Arr(K, 1) = Rng(i, 2)
            Arr(K, 2) = Rng(i, 3)
         Else
               R = Dic.Item(Rng(i, 2).Value)
               Arr(R, 2) = Arr(R, 2) + Rng(i, 3)
        End If
      End If
    Next
    Sheet1.Range("G5:H10000").Clear
    If (K > 0) Then
        Sheet1.Range("G5").Resize(K, 2).Value = Arr
        Sheet1.Range("G5").Resize(K, 2).Borders.LineStyle = 1
    End If
    End Sub

  4. #4
    hardest Guest
    Trích dẫn Gửi bởi alex-luu
    Chào các anh chị ,
    Nhờ các anh chị chỉ giúp em cách lọc dữ liệu theo 2 điều kiện như trong file đính kèm.
    em cũng có đọc 1 số bài viết trên GPE về lọc dữ liệu theo nhiều điều kiện, nhưng chắc em không hiểu được nên vẫn không áp dụng được vào bài này.
    Xin cảm ơn
    Bài này dùng PivotTable là nhanh gọn và đơn giản nhất, khỏi công thức hay code gì cả

    <div class="size_fullsize"></div>

  5. #5
    hangngand Guest
    Đôi khi đôi khi mình nghi lung tung nên không để ý tới những cái đơn giản nhất có thể

  6. #6
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Cảm ơn anh phihndhsp nhiều nha. em dùng cách của anh được rồi. Các anh trên GPE nhiệt tình thiệt.

  7. #7
    seohoangphuc Guest
    Cảm ơn Thầy NDU nhiều, do yêu cầu của sheet này không dùng pivotTable được mà chỉ có thể dùng hàm hoặc VBA, nhưng vô tình từ gợi ý cách làm của Thầy, em lại giải luôn được 1 yêu cầu khác mà em cũng đã bí mấy bữa nay, hehehehe...... Cảm ơn Thầy nhiều nhiều...

  8. #8
    lediem_itvn Guest
    Trích dẫn Gửi bởi phihndhsp
    Ngứa tay làm đại cho bạn, tôi chưa có bẫy lỗi gì nhiều, bạn có thể tự phát triển thêm

    <div class="bbcode_container">
    <div class="bbcode_description">Code:
    </div>
    </div>

    Anh phihndhsp ơi, cũng giống như yêu cầu trên, nhưng em áp dụng vào 1 sheet khác, em thử thay đổi cột rồi nhưng sao code không chạy, chắc em làm còn sai chỗ nào hả ? anh xem file này giúp em với nha.

  9. #9
    thailee Guest
    Trích dẫn Gửi bởi phihndhsp
    <div class="bbcode_container">
    <div class="bbcode_description">Code:
    </div>
    </div>
    Perfect !!!. Cảm ơn anh phihndhsp nhiều nha. đúng 100% ý em luôn. anh Phi giỏi thiệt đó, ngưỡng mộ, ngưỡng mộ .....

  10. #10
    thomtomtit Guest
    Trích dẫn Gửi bởi alex-luu
    Perfect !!!. Cảm ơn anh phihndhsp nhiều nha. đúng 100% ý em luôn. anh Phi giỏi thiệt đó, ngưỡng mộ, ngưỡng mộ .....
    Bạn đừng nói vậy tôi thấy rất ngại. Những dạng bài tập này bạn là thành viên mới nên thấy khó, chứ rõ ràng nó cũng rất đơn giản. Mọi thứ đều được cái thằng DIC làm hết rồi, mình cũng chẳng cần tư duy nhiều.

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
  •