Viết dùm em code trích lọc theo điều kiện Max (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

authority

Thành viên chính thức
Tham gia
25/5/09
Bài viết
80
Được thích
3
em chào các anh ạ
các anh giúp em với ạ
em gửi kèm bảng tính
các anh viết dùm em thế này với ạ
Untitled-13.png

trong bảng tính có
ví dụ có story 11 giống nhau, sau đó xét đến cột C có TT giống nhau thì mình tìm max của giá trị cột D ví dụ là 2.7
sau khi có giá trị max đó thì xóa những giá trị bé hơn
ví dụ đây là giá trị sau khi làm ạ
Untitled-14.png


link file:

http://199.91.152.198/2lj8s4ycn1bg/bm6jitnr2b2l3a4/Book3.xls
 
Loại bài này hình như mình đã gặp vài năm trở lại đây, chắc trong BOX "Kỹ thuật" (Bạn có thể đến đó tìm thử xem sao)
Nên đính kèm file ở đây, người khác sẽ thiện cảm hơn với bạn & GPE.COM có thêm 1 file làm nguồn sau này, trừ trường hợp bất khả kháng; (như tiện bề theo dõi, trích dẫn,. . . )

Còn bài của bạn hướng đi là vận dụng hàm =DMAX(Database,Field, Criteria)
 
Upvote 0
Bài này chỉ cần pivot table là ra kết quả
 
Upvote 0
Loại bài này hình như mình đã gặp vài năm trở lại đây, chắc trong BOX "Kỹ thuật" (Bạn có thể đến đó tìm thử xem sao)
Nên đính kèm file ở đây, người khác sẽ thiện cảm hơn với bạn & GPE.COM có thêm 1 file làm nguồn sau này, trừ trường hợp bất khả kháng; (như tiện bề theo dõi, trích dẫn,. . . )

Còn bài của bạn hướng đi là vận dụng hàm =DMAX(Database,Field, Criteria)
em cảm ơn anh ạ
sao em đính kèm mãi không đc ạ
để em thử xem ạ
 
Upvote 0
cụ thể thế nào vậy anh
em tìm mãi mà làm không đc ạ
và nếu mà mình nhập những giá trị khác có LOC khác thì có đc không ạ
Thử viới code này xem. Trong File thì ấn nút GPE.
PHP:
Public Sub GPE()
Dim Dic As Object, Rng(), Arr(), I As Long, J As Long, K As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
With Sheet1
    Rng = .Range(.[A5], .[A65000].End(xlUp)).Resize(, 7).Value
    ReDim Arr(1 To UBound(Rng, 1), 1 To 7)
    For I = 1 To UBound(Rng, 1)
        Tem = Rng(I, 1) & Rng(I, 3)
        If Not Dic.Exists(Tem) Then
            K = K + 1
            Dic.Add Tem, K
            For J = 1 To 7
                Arr(K, J) = Rng(I, J)
            Next J
        Else
            If Arr(Dic.Item(Tem), 4) < Rng(I, 4) Then
                For J = 4 To 7
                    Arr(Dic.Item(Tem), J) = Rng(I, J)
                Next J
            End If
        End If
    Next I
        .[I2:O65000].ClearContents
        .[I2].Resize(K, 7).Value = Arr
End With
End Sub
 

File đính kèm

Upvote 0
Thử viới code này xem. Trong File thì ấn nút GPE.
PHP:
Public Sub GPE()
Dim Dic As Object, Rng(), Arr(), I As Long, J As Long, K As Long, Tem As String
Set Dic = CreateObject("Scripting.Dictionary")
With Sheet1
    Rng = .Range(.[A5], .[A65000].End(xlUp)).Resize(, 7).Value
    ReDim Arr(1 To UBound(Rng, 1), 1 To 7)
    For I = 1 To UBound(Rng, 1)
        Tem = Rng(I, 1) & Rng(I, 3)
        If Not Dic.Exists(Tem) Then
            K = K + 1
            Dic.Add Tem, K
            For J = 1 To 7
                Arr(K, J) = Rng(I, J)
            Next J
        Else
            If Arr(Dic.Item(Tem), 4) < Rng(I, 4) Then
                For J = 4 To 7
                    Arr(Dic.Item(Tem), J) = Rng(I, J)
                Next J
            End If
        End If
    Next I
        .[I2:O65000].ClearContents
        .[I2].Resize(K, 7).Value = Arr
End With
End Sub
vẫn chưa được anh à
đối với bài này thì được nhưng nếu giờ ở cột LOC chỉ còn những giá trị 2.7 thì không vẫn giữ nguyên giá trị đó đc không anh
tức là thế này :
nếu giờ anh lọc những giá trị đó xong thì khi copy những giá trị đó paste vào ô a1 rồi lọc lại lần nữa thì vẫn giữ nguyên gía trị đó không anh
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom