Nhờ các a (c) giúp e code lọc số liệu theo điều kiện!! (1 người xem)

Liên hệ QC

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

thanhquangauh

Thành viên chính thức
Tham gia
22/9/13
Bài viết
60
Được thích
2
Chào các anh chị trong GPE: em có bảng số liệu mong các anh chị giúp em lọc các số liệu theo điều kiện.
- Ở cộtt "I" là số liệu, cột "C" là cột vị trí, cột "B" là cột ký hiệu.
+ Từ số liệu ở cột "I" lấy giá trị nhỏ nhất ứng với vị trí đầu tiên của cột "C" ứngg vớii cộtt "B".
+ Từ số liệu ở cột "I" lấy giá trị nhỏ nhất ứng với vị trí cuối cùng của cột "C" ứngg vớii cộtt "B".
+ Từ số liệu ở cột "I" lấy giá trị lớnnhất ứng với vị trí còn lại (các vị trí còn lại) của cột "C" ứngg với cộtt "B".
- em có kèm theo file miều tả câu hỏi và kết quả theo mẫu..
-MONG NHẬN ĐƯỢC CÂU TRẢ LỜI CỦA CÁC ANH CHỊ....
XIN CẢM ƠN RẤT NHIỀU.....
 

File đính kèm

[Thongbao]Chào các anh chị trong GPE: em có bảng số liệu mong các anh chị giúp em lọc các số liệu theo điều kiện.
- Ở cộtt "I" là số liệu, cột "C" là cột vị trí, cột "B" là cột ký hiệu.
+ Từ số liệu ở cột "I" lấy giá trị nhỏ nhất ứng với vị trí đầu tiên của cột "C" ứngg vớii cộtt "B".
+ Từ số liệu ở cột "I" lấy giá trị nhỏ nhất ứng với vị trí cuối cùng của cột "C" ứngg vớii cộtt "B".
+ Từ số liệu ở cột "I" lấy giá trị lớnnhất ứng với vị trí còn lại (các vị trí còn lại) của cột "C" ứngg với cộtt "B".
- em có kèm theo file miều tả câu hỏi và kết quả theo mẫu..
-MONG NHẬN ĐƯỢC CÂU TRẢ LỜI CỦA CÁC ANH CHỊ....
XIN CẢM ƠN RẤT NHIỀU.....[/Thongbao]
 

File đính kèm

Upvote 0
Trong file đính kèm e có diễn tả câu hỏi và có kết quả theo mẫu (ở sheets loc), làm sao lọc số liệu từ sheet Dulieu có kết quả ở đúng vị trị của sheet loc...(trong câu hỏi có chỗ nào ko rõ ? e sẽ bổ sung sau)....do nhiều số liệu quá lọc bằng tay quá lâu, mong các anh chị giúp dùm em...cảm ơn rất nhiều.....<br>(chân thanh cảm ơn anh SA_DQ đã góp bài..nhưng khi chạy code timkiem thì thấy toàn copy hàng trên xuống không ak không giống như kết quả...mong anh hiêu chỉnh lại dùm)<br><br>
Capture1.JPG
 
Upvote 0
Bạn fải để lại 2 cột [A:B] chứ, sao lại xóa hết đi thì lấy gì nó lọc được;

Mà đã không lọc được nó tức mình đưa cho bạn số liệu tầm bậy là fải rồi!
 
Upvote 0
Bạn fải để lại 2 cột [A:B] chứ, sao lại xóa hết đi thì lấy gì nó lọc được;

Mà đã không lọc được nó tức mình đưa cho bạn số liệu tầm bậy là fải rồi!
Thì ra là phải để lại 2 cột A và B, nhưng nếu ở sheet [Dulieu] e có số liệu khác thì phải copy rồi lọc lại cột A và cột B rồi lọc nữa thì mất thời gian nữa.....vậy có thể không để lại cột A và B nhưng khi lọc thì vẫn có kết quả nhưng mẫu e đưa ra(sheet loc) không...có nghĩa là khi lọc thì nó sẽ đưa ra kết quả như sheet loc vậy đó.
mong các anh chị giúp đỡ dùm e....cảm ơn rất nhiều...
 
Upvote 0
Đây là toàn văn macro dành cho nút lệnh ở trang 'DuLieu' của bạn

PHP:
Option Explicit
Private Sub CommandButton1_Click()
 Dim Cls As Range, WF As Object, cRit As Range, Rng As Range, Sh As Worksheet
 Dim sRng As Range, RgM As Range, Rg0 As Range
 Dim Rws As Long, Rw As Long, J As Long, I As Byte, Min0 As Double, Max0 As Double
 
 Set Sh = ThisWorkbook.Worksheets("Loc")
 Rws = Range("A14").CurrentRegion.Rows.Count
 On Error Resume Next
 ActiveWorkbook.Names("Criteria").Delete
 ActiveWorkbook.Names("Extract").Delete:                Err = 0
 Set WF = Application.WorksheetFunction
 For J = 0 To 1
    Cells(14, "A").Offset(, J).Resize(Rws).AdvancedFilter Action:=xlFilterCopy, _
        CopyToRange:=[X14].Offset(, J), Unique:=True
 Next J
 [A12].Resize(3, 9).Copy Destination:=Sh.[A12]
 Sh.[A15].Resize(Rws, 9).Clear
 Set cRit = Range("AA9:AB10")
 Application.ScreenUpdating = False
 For Each Cls In Range([x15], [x15].End(xlDown))
    [AA10].Value = Cls.Value
    For J = 15 To [Y15].End(xlDown).Row
        [AB10].Value = Cells(J, "Y").Value
        [A14].Resize(Rws, 9).AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=cRit, CopyToRange:=Range("AA14:Ai14"), Unique:=False
        If [ab15].Value <> "" Then
            With Range("ac14")
                Rw = .CurrentRegion.Rows.Count
                Min0 = WF.DMin(.CurrentRegion, .Offset(0), cRit)
                Max0 = WF.DMax(.CurrentRegion, .Offset(0), cRit)
                Set Rng = .Offset(0).Resize(Rw)
            End With
            Set sRng = Rng.Find(Min0, , xlFormulas, xlWhole)
            If Not sRng Is Nothing Then
                Set RgM = sRng
                For I = 1 To 4
                    If sRng.Offset(I).Value <> sRng.Value Then
                        Set Rg0 = sRng.Offset(I):       Exit For
                    Else
                        If sRng.Offset(, 6).Value > sRng.Offset(I, 6) Then _
                            Set RgM = sRng.Offset(I)
                    End If
                Next I
            End If
            Sh.Cells(Rws, "A").End(xlUp).Offset(1).Resize(, 9).Value = RgM.Offset(, -2).Resize(, 9).Value
            Set sRng = Rng.Find(Max0)
            If Not sRng Is Nothing Then
                Set Rg0 = Range(Rg0, sRng.Offset(-1))   'Vùng De Tính Giá Tri Max Cot Cuói'
                Set RgM = sRng
                For I = 1 To 4
                    If sRng.Offset(I).Value <> sRng.Value Then
                        Exit For
                    Else
                        If sRng.Offset(, 6).Value > sRng.Offset(I, 6) Then _
                            Set RgM = sRng.Offset(I)
                    End If
                Next I
            End If
            Sh.Cells(Rws, "A").End(xlUp).Offset(2).Resize(, 9).Value = RgM.Offset(, -2).Resize(, 9).Value
            Max0 = WF.Max(Rg0.Offset(, 6))
            Set sRng = Rg0.Offset(, 6).Find(Max0)       'Tính Giá Tri Max Cot Cuói'
            If Not sRng Is Nothing Then
                Sh.[A14].End(xlDown).Offset(1).Resize(, 9).Value = sRng.Offset(, -8).Resize(, 9).Value
            End If
        End If
    Next J
 Next Cls
 Application.ScreenUpdating = True
 Randomize:                                             Sh.Select
 Sh.[A12].Resize(3, 4).Interior.ColorIndex = 34 + 9 * Rnd() \ 1
End Sub

Chú í nhỏ: Thiết trí file như #2 bên trên
 
Upvote 0
Chú í nhỏ: Thiết trí file như #2 bên trên
Chân thành cảm ơn a ChanhTQ@ đã góp bài, về quy tắc thì code của a đã đúng với ý của em rồi vì ra kết quả đúng giống vs bảng tính, nhưng nhìn bảng tính nhiều chi tiết thừa quá khi e xóa đi thì ở sheet loc lai ko ra kết quả...a có thể giúp e bỏ các chi tiết thừa đó mak vẫn ra kết quả..
ví du: như hình
dữ liệu DU LIEU.JPG, kết quả KET QUA.JPG

Mong các anh chị trong GPE giúp đỡ dùm em....Chân thành cảm ơn rất nhiều...
 
Upvote 0
em suy nghĩ quài mak ko tìm ra kết quả, các anh chị trong GPE vui lòng giúp e vs....e chân thành cảm ơn nhiều
trong câu hỏi có gì không hiểu e sẽ giải thích lại.....xin giúp em với....
 
Upvote 0
vì ra kết quả đúng giống vs bảng tính, nhưng nhìn bảng tính nhiều chi tiết thừa quá khi e xóa đi thì ở sheet loc lai ko ra kết quả...a có thể giúp e bỏ các chi tiết thừa đó mak vẫn ra kết quả..

Chi tiết thừa có thể xóa ở các dòng 5,6 & 12 sau cột [AA]

Nếu thấy tất cả làm bạn chướng mắt thì các cột trống sau CSDL (Sau cột 'M') bạn mở độ rọng tối đa, theo kiểi khuất mắt trông coi đi mà!

Thật ra mình cũng đã nghỉ tới việc cải tiến chương trình, không xài fương thức AdvancedFilter nữa;
Nhưng khó nhất là tìm trị MAX của vùng còn lại, sau khi loại bỏ các trị đầu & cuối!
Thuật giải này chắc không đơn giản & bạn nên gắng chờ thêm vài ngày nữa.
 
Upvote 0
Chi tiết thừa có thể xóa ở các dòng 5,6 & 12 sau cột [AA]

Nếu thấy tất cả làm bạn chướng mắt thì các cột trống sau CSDL (Sau cột 'M') bạn mở độ rọng tối đa, theo kiểi khuất mắt trông coi đi mà!

Thật ra mình cũng đã nghỉ tới việc cải tiến chương trình, không xài fương thức AdvancedFilter nữa;
Nhưng khó nhất là tìm trị MAX của vùng còn lại, sau khi loại bỏ các trị đầu & cuối!
Thuật giải này chắc không đơn giản & bạn nên gắng chờ thêm vài ngày nữa.
cảm ơn anh đã giúp đỡ, e sẽ cố gắng đợi câu trả lời của anh và các bạn trong diễn đàn trong thời gian ngắn nhất....cảm ơn rất nhiều..
 
Upvote 0
Các anh chị trong GPE thân mến, em cũng còn câu hỏi về vấn đề lọc theo điều kiện nữa nhưng chắc dễ hơn câu hỏi ở bài #1, trong file đính kèm có câu hỏi của em...một lần nữa xin các anh chị trong GPE giúp đỡ..chân thành cảm ơn!
 

File đính kèm

Upvote 0
em suy nghĩ quài mak ko tìm ra kết quả, các anh chị trong GPE vui lòng giúp e vs....e chân thành cảm ơn nhiều
trong câu hỏi có gì không hiểu e sẽ giải thích lại.....xin giúp em với....
Chẳng hiểu kết quả của bạn lấy ở đâu, có chính xác không, kết quả của tôi có nhiều chỗ không giống với bạn, bạn kiểm tra lại xem sao.
 

File đính kèm

Upvote 0
Chẳng hiểu kết quả của bạn lấy ở đâu, có chính xác không, kết quả của tôi có nhiều chỗ không giống với bạn, bạn kiểm tra lại xem sao.
Chân thành cảm cơn anh Ba te đã góp bài giúp em, kết quả đó e lọc bằng tay, lý do kết quả của anh khác kết quả của em là: tại vị trí ở giữa (trừ đi 2 vị trí đầu và cuối) thì e lấy giá trị mã (giá trị lớn nhất), còn kết quả của anh lấy giá trị Max (giá trị lớn nhất) tại các vị trí...nên khác vs kết quả của em...anh có thể sửa lại dùm em vs...do nhiều số quá lọc bằng tay mất nhiều thời gian quá...nhờ a Ba Te giúp dùm em....
Capture.jpg....mak a Ba Te cho e hỏi: có thể không cần dùng đến cột A mak vẫn có thể lọc được không? vì có trường hợp số liệu cột A không có..chỉ sử dụng cột B, cột C, với cột I thội..còn các cột khác tự động đi theo..
dữ liệu Capture1.jpg kết quả Capture3.jpg cảm ơn anh Bate và các bạn trong GPE rất nhiều...
 
Upvote 0
Đã có cảnh báo rồi mà thầy 3 Tê!

[warning1]Nhưng khó nhất là tìm trị MAX của vùng còn lại, sau khi loại bỏ các trị đầu & cuối!
Thuật giải này chắc không đơn giản & bạn nên gắng chờ thêm vài ngày nữa.
[/warning1]

Đòi hỏi này làm trên trang tính thì đã được; nhưng tác giả chê rùa, chắc vậy!

Việc còn lại là nhờ các thầy về xử lí số liệu trong mảng để tăng tốc thôi!
(Mình cũng cùng đợi với tác giả topic!-+*/)
 
Upvote 0
E còn câu hỏi về lọc giá trị theo điều kiện, ở bài #11 e có kèm fie theo nhờ các anh chị giúp dùm em...e cảm ơn rất nhiều...
 
Upvote 0

File đính kèm

Upvote 0
Tôi gởi lại file có kết quả giống của bạn từ file bài #12, còn bài #11 thì "oải"
Em rất chân thành cảm ơn anh BA TE nhiều !! vậy là một bài A BATE đã giúp em...,chỉ còn bài #11 nữa xin các anh chị suy nghĩ giúp em ạ...Với yêu cầu là:
lọc các giá trị ở cột E, H, I ứng với vị trí đầu, vị trí cuối cột C lại ứng với cột B...nội dung câu hỏi em nêu ở bài #11...
các anh chị trong GPE...giải đáp dùm e với....chân thành cảm ơn nhiều ạ..
 
Upvote 0
Em rất chân thành cảm ơn anh BA TE nhiều !! vậy là một bài A BATE đã giúp em...,chỉ còn bài #11 nữa xin các anh chị suy nghĩ giúp em ạ...Với yêu cầu là:
lọc các giá trị ở cột E, H, I ứng với vị trí đầu, vị trí cuối cột C lại ứng với cột B...nội dung câu hỏi em nêu ở bài #11...
các anh chị trong GPE...giải đáp dùm e với....chân thành cảm ơn nhiều ạ..
Dữ liệu có nguyên tắc chung là mỗi nhóm vị trí là 9 dòng, mỗi nhóm ký hiệu là 27 dòng không?
Nếu đúng như vậy thì còn "có cửa", nếu không thì chắc phải "chạy".
Còn yêu cầu kết quả:
OaiQua.jpg
Sao 5 dòng cuối 2 dòng là cuối, 3 dòng là đầu?
 
Lần chỉnh sửa cuối:
Upvote 0
Dữ liệu có nguyên tắc chung là mỗi nhóm vị trí là 9 dòng, mỗi nhóm ký hiệu là 27 dòng không?
Nếu đúng như vậy thì còn "có cửa", nếu không thì chắc phải "chạy".
Còn yêu cầu kết quả:
View attachment 112631
Sao 5 dòng cuối 2 dòng là cuối, 3 dòng là đầu?
Bảng số liệu đó có 3 vị trí (nhưng còn nhiều bảng của em có rất nhiều vị trí), như vậy thì đầu tiên là mình xóa các vị trí ở giữa đi, để lại vị trí đầu và cuối rồi sao đó lọc kết quả...
Về kết quả là:
MAX: giá trị lớn nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
Còn chỗ nào không rõ về câu hỏi, e xin giải thích thêm ạ....cảm ơn anh rất nhiều...
 
Upvote 0
Bảng số liệu đó có 3 vị trí (nhưng còn nhiều bảng của em có rất nhiều vị trí), như vậy thì đầu tiên là mình xóa các vị trí ở giữa đi, để lại vị trí đầu và cuối rồi sao đó lọc kết quả...
Về kết quả là:
MAX: giá trị lớn nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
Còn chỗ nào không rõ về câu hỏi, e xin giải thích thêm ạ....cảm ơn anh rất nhiều...
Bắt Excel nó xóa vị trí giữa bằng cách nào đây ?
Híc!
 
Upvote 0
Bắt Excel nó xóa vị trí giữa bằng cách nào đây ?
Híc!
NHờ anh và các anh chị trong GPE suy nghĩ giúp em với, do bảng dữ liệu nhiều quá lọc bằng tay mất nhiều thời gian quá...
mong các anh chị giúp đỡ dùm em....em cảm ơn rất nhiều...
 
Upvote 0
NHờ anh và các anh chị trong GPE suy nghĩ giúp em với, do bảng dữ liệu nhiều quá lọc bằng tay mất nhiều thời gian quá...
mong các anh chị giúp đỡ dùm em....em cảm ơn rất nhiều...

Thì bạn cũng phải để Thầy tui suy nghĩ chớ. Bài toán của bạn không đơn giản chút nào (nếu ngon tui đã chém rồi).

Bạn cứ giục thế sốt ruột lắm. Thầy tui vẫn đang làm việc miệt mài mà (nick vẫn sáng). Hơn nữa chẳng giống văn hoá nhờ chút nào.
 
Upvote 0
NHờ anh và các anh chị trong GPE suy nghĩ giúp em với, do bảng dữ liệu nhiều quá lọc bằng tay mất nhiều thời gian quá...
mong các anh chị giúp đỡ dùm em....em cảm ơn rất nhiều...
Lỡ leo lưng ... rồi.
Bạn có khẳng định kết quả của bạn là chính xác theo thứ tự quy định của bạn không?
Kết quả của tôi có khác với bạn đấy, dò muốn đui con mắt luôn.
Có lẽ đến đây là "hết thuốc" rồi đó. (Mỗi nhóm không đúng 9 dòng là "tèo" luôn)
Híc!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Lỡ leo lưng ... rồi.
Bạn có khẳng định kết quả của bạn là chính xác theo thứ tự quy định của bạn không?
Kết quả của tôi có khác với bạn đấy, dò muốn đui con mắt luôn.
Có lẽ đến đây là "hết thuốc" rồi đó. (Mỗi nhóm không đúng 9 dòng là "tèo" luôn)
Híc!
Chết anh Bate rồi, kết quả chưa khớp kìa anh ơi. Cố miếng nữa xem sao nha anh. Hic, em đuối quá hà.
 
Upvote 0
Chết anh Bate rồi, kết quả chưa khớp kìa anh ơi. Cố miếng nữa xem sao nha anh. Hic, em đuối quá hà.
Híc!
Nếu không đúng theo thứ tự thì còn chỉnh lại được, nếu "trớt quớt" luôn thì "chạy"
Thứ tự max, min ... từ trên xuống lúc vầy lúc khác. Nhưng các dòng số liệu vẫn đủ như của tác giả.
Chưa thấy tác giả có ý kiến.
"Hết thuốc" rồi.


HetThuoc.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
Lỡ leo lưng ... rồi.
Bạn có khẳng định kết quả của bạn là chính xác theo thứ tự quy định của bạn không?
Kết quả của tôi có khác với bạn đấy, dò muốn đui con mắt luôn.
Có lẽ đến đây là "hết thuốc" rồi đó. (Mỗi nhóm không đúng 9 dòng là "tèo" luôn)
Híc!
Kết quả của anh giống như kết quả của e chỉ qua là đảo vị trí của nó thôi!! e rất cảm ơn sư nhiệt tình của anh,..trong quá trình học hỏi có gì sai mong anh bỏ qua dùm em....
Như vậy chỉ có thể là "9 dòng" mới lọc đc hả anh....nếu em pass dữ liệu khác vào thì sẽ ko lọc đc rồi...
anh BA TE, em tìm trên diễn đàn thấy code này, em tích vào bài #11:

Sub loc1()
Dim Tmparr, item, Arr(1 To 5), Ir()
Dim n As Long, i As Long, j As Long, k As Long
Dim rng As Range
Application.ScreenUpdating = False
With ActiveSheet
.AutoFilterMode = 0
Tmparr = .Range(.[B15], .[B65536].End(3))
ReDim Ir(1 To UBound(Tmparr, 1))
End With
For i = 1 To UBound(Tmparr, 1) - 1
For j = i + 1 To UBound(Tmparr, 1)
If Not Tmparr(j, 1) Like Tmparr(i, 1) Then Exit For
Next
Set rng = Range("E" & i + 14 & "", "E" & j + 13 & "")
With WorksheetFunction
Arr(1) = IIf(.Max(rng) < Abs(.Min(rng)), .Min(rng), .Max(rng))
Set rng = Range("H" & i + 14 & "", "H" & j + 13 & ""): Arr(2) = .Max(rng): Arr(3) = .Min(rng)
Set rng = Range("I" & i + 14 & "", "I" & j + 13 & ""): Arr(4) = .Max(rng): Arr(5) = .Min(rng)
n = n + 5
Ir(n - 4) = .Match(Arr(1), [E15:E65000], 0): Range("b:b").Cells(Ir(n - 4) + 14).Font.Bold = 65535
Ir(n - 3) = .Match(Arr(2), [H15:H65000], 0): Range("b:b").Cells(Ir(n - 3) + 14).Font.Bold = 65535
Ir(n - 2) = .Match(Arr(3), [H15:H65000], 0): Range("b:b").Cells(Ir(n - 2) + 14).Font.Bold = 65535
Ir(n - 1) = .Match(Arr(4), [I15:I65000], 0): Range("b:b").Cells(Ir(n - 1) + 14).Font.Bold = 65535
Ir(n - 0) = .Match(Arr(5), [I15:I65000], 0): Range("b:b").Cells(Ir(n - 0) + 14).Font.Bold = 65535
End With
i = j - 1
Next
Application.ScreenUpdating = True
End Sub
Sub loc2()
Dim n As Integer
n = 15
Cells(n, "B").Select
Do Until Selection.Value = ""
If Selection.Font.Bold Then
n = n + 1
Cells(n, "B").Select
Else
Rows(n).Delete 'Kiem tra lai, tai sao delete nay lai giu dc format cua cell, con entridelete bi xoa?
End If
Loop
Range("A15").Select
End Sub
......................................................................................
nhưng kết quả của nó là:
MAX: giá trị lớn nhất "M3" của ký hiệu C1
MAX: giá trị lớn nhất "M2" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" của ký hiệu C1
mà không phụ thuộc vào cột vị trí, vậy anh có thể dựa vào code đó, lọc ở 2 vị trí đầu "0,0" ; vị trí cuối "4,4"..mà kết quả cần là:
MAX: giá trị lớn nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí cuối cùng "4,40" của ký hiệu C1

giúp em được không..em xin cảm ơn nhiều...
3.jpg4.jpg
gửi anh file đính kèm, anh xem rồi sửa dùm em......
 

File đính kèm

Upvote 0
Kết quả của anh giống như kết quả của e chỉ qua là đảo vị trí của nó thôi!! e rất cảm ơn sư nhiệt tình của anh,..trong quá trình học hỏi có gì sai mong anh bỏ qua dùm em....
Như vậy chỉ có thể là "9 dòng" mới lọc đc hả anh....nếu em pass dữ liệu khác vào thì sẽ ko lọc đc rồi...
Mỗi người có một cách giải quyết khác nhau, Code ai viết nấy hiểu, sửa code người khác còn khó hơn viết lại theo kiểu hiểu của mình.

(Mấy cái này xài vào chuyện gì vậy ta? Rất nhiều bài hỏi về chuyện Min, Max, M3, M2, Bao Min, Bao Max... Nếu là công việc chuyên ngành sao không có phần mềm chuyên ngành nhỉ?)

Vừa tìm ra một cách giải khác, thử lại xem sao.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Mỗi người có một cách giải quyết khác nhau, Code ai viết nấy hiểu, sửa code người khác còn khó hơn viết lại theo kiểu hiểu của mình.
Vừa tìm ra một cách giải khác, thử lại xem sao.
(Mấy cái này xài vào chuyện gì vậy ta? Rất nhiều bài hỏi về chuyện Min, Max, M3, M2, Bao Min, Bao Max... Nếu là công việc chuyên ngành sao không có phần mềm chuyên ngành nhỉ?)
Cảm ơn anh nhiều....a tìm ra giải pháp tổng quát giúp em nhe....
em sử dụng phần mềm chuyên nghành rồi mới xuất ra được mấy cái dữ liệu đó, rồi từ dữ liệu đó lại lọc ra những cái cần sử dụng....mà do nó nhiều quá lọc bằng tay rất lâu....nên em nhờ anh viết code để lọc dễ dàng hơn....
nhưng hơi khó cho các anh chị trong GPE...không dễ dàng chút nào......
em cám ơn rất nhiều...hy vọng anh sẽ có cách giải tổng quát giúp em....
chúc các anh chị nhiều sức khỏe...
 
Upvote 0
Cảm ơn anh nhiều....a tìm ra giải pháp tổng quát giúp em nhe....
em sử dụng phần mềm chuyên nghành rồi mới xuất ra được mấy cái dữ liệu đó, rồi từ dữ liệu đó lại lọc ra những cái cần sử dụng....mà do nó nhiều quá lọc bằng tay rất lâu....nên em nhờ anh viết code để lọc dễ dàng hơn....
nhưng hơi khó cho các anh chị trong GPE...không dễ dàng chút nào......
em cám ơn rất nhiều...hy vọng anh sẽ có cách giải tổng quát giúp em....
chúc các anh chị nhiều sức khỏe...
Nói vậy là file tôi mới gởi trên bài #27 có xài được không, chưa được chỗ nào nữa?
Híc! Lòng vòng mà cũng không biết muốn sao nữa.
Kiểu này chắc "chạy" Topic này luôn.
 
Upvote 0
Nói vậy là file tôi mới gởi trên bài #27 có xài được không, chưa được chỗ nào nữa?
Híc! Lòng vòng mà cũng không biết muốn sao nữa.
Kiểu này chắc "chạy" Topic này luôn.
bài #27 của anh rất giống với của em, nhưng sao e để dữ liệu khác vào, thì cơ bản vẫn ra kết quả...nhưng lại có dòng trùng nhau, lại có dòng bỏ trống,.ở ký hiệu cuối thì nó lọc thiếu một chút.....
anh sữa lại giúp e một chút.....e rất cảm ơn nhiều...
5.jpg
 

File đính kèm

Upvote 0
bài #27 của anh rất giống với của em, nhưng sao e để dữ liệu khác vào, thì cơ bản vẫn ra kết quả...nhưng lại có dòng trùng nhau, lại có dòng bỏ trống,.ở ký hiệu cuối thì nó lọc thiếu một chút.....
anh sữa lại giúp e một chút.....e rất cảm ơn nhiều...
View attachment 112668

1- Không hiểu luôn rồi, dữ liệu bây giờ của bạn làm "banh bọng" code luôn rồi.
C6 - 0.00: từ dòng 15-53
C6 - 0.00: từ dòng 483-521
2 nhóm này xét chung hay xét riêng? Nếu chung thì xem file, nếu riêng thì "tèo"
2- Dữ liêu trùng có thể do một dòng dữ liệu cùng có Max M3, Max M2 phải đưa qua 2 vị trí bên bảng kết quả.
3- Có dòng trống vì dữ liệu bây giờ không giống dữ liệu trước đây, có lúc Max là số âm, Min lại là số dương.
Híc! dữ liệu không thật, cứ thay đổi suốt. Kiểu nhờ vả của bạn làm khó người khác quá đó.
 

File đính kèm

Upvote 0
1- Không hiểu luôn rồi, dữ liệu bây giờ của bạn làm "banh bọng" code luôn rồi.
C6 - 0.00: từ dòng 15-53
C6 - 0.00: từ dòng 483-521
2 nhóm này xét chung hay xét riêng? Nếu chung thì xem file, nếu riêng thì "tèo"
2- Dữ liêu trùng có thể do một dòng dữ liệu cùng có Max M3, Max M2 phải đưa qua 2 vị trí bên bảng kết quả.
3- Có dòng trống vì dữ liệu bây giờ không giống dữ liệu trước đây, có lúc Max là số âm, Min lại là số dương.
Híc! dữ liệu không thật, cứ thay đổi suốt. Kiểu nhờ vả của bạn làm khó người khác quá đó.
hic chắc là xét riêng vì có cột A kèm theo mà. Code em cũng viết xong rồi mà thấy file thay đổi và kết quả cũng tèo rồi. Hic hic
 
Upvote 0
1- Không hiểu luôn rồi, dữ liệu bây giờ của bạn làm "banh bọng" code luôn rồi.
C6 - 0.00: từ dòng 15-53
C6 - 0.00: từ dòng 483-521
2 nhóm này xét chung hay xét riêng? Nếu chung thì xem file, nếu riêng thì "tèo"
2- Dữ liêu trùng có thể do một dòng dữ liệu cùng có Max M3, Max M2 phải đưa qua 2 vị trí bên bảng kết quả.
3- Có dòng trống vì dữ liệu bây giờ không giống dữ liệu trước đây, có lúc Max là số âm, Min lại là số dương.
Híc! dữ liệu không thật, cứ thay đổi suốt. Kiểu nhờ vả của bạn làm khó người khác quá đó.
Xin lỗi anh không phải dữ liệu không thật đâu, vì phần mềm của em còn còn xuất ra nhiều bảng excel với dữ liệu khác nhau...nên em nhờ anh viết code tổng quát...Thật vất vả cho cho anh, kết quả vậy là rất tốt cho em (rất đúng a ạ)...
em rất cảm ơn sự nhiệt tình của anh.....
chúc a BATE và các anh chị trong diễn dàn nhiều sức khỏe và chúc diễn đàn càng lớn mạnh...
À sẵn cho e hỏi luôn....nếu có dòng trống và có dòng trùng dữ liệu...thì a viết code delete dòng luôn giúp em luôn...(nếu dòng nào trống hoặc có dữ liệu giống với dòng trên thì delete rows)....
 
Upvote 0
Cũng ham hố nên tham gia phụ anh Bate 1 tay đây.
 

File đính kèm

Upvote 0
Cũng ham hố nên tham gia phụ anh Bate 1 tay đây.
Càng "ham hố" càng chết với kiểu hỏi dần lân của tác giả.
Yêu cầu luôn có 5 dòng kết quả
MAX: giá trị lớn nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí đầu tiên "0,00" của ký hiệu C1
MAX: giá trị lớn nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MAX: giá trị lớn nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M3" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "M2" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
MIN: giá trị nhỏ nhất "N" ứng với vị trí cuối cùng "4,40" của ký hiệu C1
Kết quả của Hải chỉ 4 dòng thôi.
Tui "chết luôn" đây.
 
Lần chỉnh sửa cuối:
Upvote 0
hic chắc là xét riêng vì có cột A kèm theo mà. Code em cũng viết xong rồi mà thấy file thay đổi và kết quả cũng tèo rồi. Hic hic
Đúng là mình chỉ "tự phát hiện" vào cột A thôi chứ có bài tác giả bảo rằng không cần dựa vào cột A vì có khi cột A toàn trống.
http://www.giaiphapexcel.com/forum/...-liệu-theo-điều-kiện!!&p=546549#post546549
Híc!
Giờ thêm câu hỏi "dần lân" nữa rồi. Nhờ sự "ham hố" của Quang Hải đi. Tui "chạy".
À sẵn cho e hỏi luôn....nếu có dòng trống và có dòng trùng dữ liệu...thì a viết code delete dòng luôn giúp em luôn...(nếu dòng nào trống hoặc có dữ liệu giống với dòng trên thì delete rows)....
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi gởi lại file có kết quả giống của bạn từ file bài #12
Chào anh 3 Tê,...em cũng có bài hỏi tương tự như bạn thanhquangauh....nhưng ở sheet lọc em muốn dời kết quả cột I về cột E, giữ nguyên cột F.....và nếu ở sheet dulieu nếu có các cột phụ thì sang sheet loc nó sẽ đi theo...nhờ anh sửa lại 1 chút dùm em....cảm ơn anh rất nhiều!!
View attachment 112716View attachment 112717
 
Upvote 0

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

Back
Top Bottom