Xin Các Anh/Chị giúp đỡ về lọc dữ liệu 2 điều kiện (2 người xem)

Liên hệ QC

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

giahuyks93

Thành viên mới
Tham gia
24/10/15
Bài viết
34
Được thích
0
Em có 1 file excel
Gồm có cột tầng và cột cột vd tầng Dinh Mai cot C5

em lấy ví dụ muốn lọc dữ liệu tầng Dinh mai của cột C5 chọn ra P ( Cột E) lớn nhất số trong giá trị tuyệt đối và và các cột còn lại tương ứng với dòng chứa giá trị P max ấy thì e phải làm sao ạ . Em muốn lọc tự động cho toàn bộ khi thay doi tên tầng và tên cột thì nó cho ra các giá trị như trong file excel thì phải làm sao ạ . E có viết 1 đoạn code nhưng chỉ khi nhập tên tầng và tên cột thì nó mới lọc được thui . A/c có giải pháp nào hay giúp e với ạ

A/c coi file giúp đỡ em với ạ . Em xin cám ơn
 

File đính kèm

Em có 1 file excel
Gồm có cột tầng và cột cột vd tầng Dinh Mai cot C5

em lấy ví dụ muốn lọc dữ liệu tầng Dinh mai của cột C5 chọn ra P ( Cột E) lớn nhất số trong giá trị tuyệt đối và và các cột còn lại tương ứng với dòng chứa giá trị P max ấy thì e phải làm sao ạ . Em muốn lọc tự động cho toàn bộ khi thay doi tên tầng và tên cột thì nó cho ra các giá trị như trong file excel thì phải làm sao ạ . E có viết 1 đoạn code nhưng chỉ khi nhập tên tầng và tên cột thì nó mới lọc được thui . A/c có giải pháp nào hay giúp e với ạ

A/c coi file giúp đỡ em với ạ . Em xin cám ơn

Bạn dùng code này nhé:

Sub GPEFilter()
Dim LastRow As Integer, rowmax As Integer, maxvalue As Long
Dim i, j, k As Integer, LastRow1 As Integer
Application.ScreenUpdating = False
'Tim unique
LastRow = Range("A" & Rows.Count).End(3).row
Range("A6:B" & LastRow).Select
Selection.copy
Range("AV1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Range("$AV$1:$AW$" & LastRow).RemoveDuplicates Columns:=Array(1, 2), _
Header:=xlNo
ActiveWindow.SmallScroll Down:=-12
' tim max
rowmax = 0: k = 6
LastRow1 = Range("AV" & Rows.Count).End(3).row
For i = 1 To LastRow1
maxvalue = -9999
For j = 6 To LastRow
If Cells(j, 1) = Cells(i, 48) And Cells(j, 2) = Cells(i, 49) Then
If Abs(Cells(j, 5)) > maxvalue Then
maxvalue = Abs(Cells(j, 5))
rowmax = j
End If
End If
Next
Range("A" & rowmax & ":J" & rowmax).copy
Range("AI" & k).Select
ActiveSheet.Paste
Application.CutCopyMode = False
k = k + 1
Next
Range("AV1:AW" & LastRow1).Clear
Application.ScreenUpdating = True
End Sub
 
Để e nghiên cứu thử .Em cám ơn a đã vạch hướng . Do nó có giá trị âm dương mà chỉ cần trị tuyết đối thui nên nó khó khăn quá
 
Nhờ a/c giúp đỡ trong file của e tìm giá trị max ở cột I nhưng có điều bất cập ở chỗ giá trị max của cột I (M2) là 3.7576 còn giá trị max e dùng vba là 3.5749 e không biết e sai chỗ nào mong mọi người giúp đỡ ( những giá trị e tô chữ đỏ )
 

File đính kèm

Nhờ a/c giúp đỡ trong file của e tìm giá trị max ở cột I nhưng có điều bất cập ở chỗ giá trị max của cột I (M2) là 3.7576 còn giá trị max e dùng vba là 3.5749 e không biết e sai chỗ nào mong mọi người giúp đỡ ( những giá trị e tô chữ đỏ )

Không đọc code của bạn, chỉ tìm theo công thức ô K6, bạn chạy Sub này thử xem sao.
PHP:
Sub Locnoiluc()
Dim sArr(), dArr(1 To 1, 1 To 10), I As Long, Rws As Long, MaxM2 As Double
sArr = Range("A6", Range("A6").End(xlDown)).Resize(, 10).Value
For I = 1 To UBound(sArr)
    If Abs(sArr(I, 9)) > MaxM2 Then
        MaxM2 = sArr(I, 9)
        Rws = I
    End If
Next I
For I = 1 To 10
    dArr(1, I) = sArr(Rws, I)
Next I
Range("M7").Resize(, 10) = dArr
End Sub
 
Lần chỉnh sửa cuối:
Em cám ơn a nhưng mà cái bảng đó chỉ là 1 phần thui còn dài lắm (cái file đầu tiên ấy) nến e mới cố tìm hiểu lí do . Mong a/c giúp e tìm sai sót với ạ
 
Nhờ a/c giúp đỡ trong file của e tìm giá trị max ở cột I nhưng có điều bất cập ở chỗ giá trị max của cột I (M2) là 3.7576 còn giá trị max e dùng vba là 3.5749 e không biết e sai chỗ nào mong mọi người giúp đỡ ( những giá trị e tô chữ đỏ )
biến maxvalue as long khai báo không đủ. khai báo lại hoặc bỏ khai báo as long
 
hay quá e tìm ra rùi cám ơn a HieuCD ^_^
 
Web KT

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

Back
Top Bottom