Lọc kết quả không trùng (1 người xem)

Liên hệ QC

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

chidlla

Thành viên mới
Tham gia
24/11/07
Bài viết
4
Được thích
0
Các bạn giúp mình lọc danh sách không trùng phải làm ntn?
VD: Bảng danh sách khách hàng như sau:
Cột A là Mã khách hàng, 5 ký tự (00001, 00002, ....) có thể trùng. Mình muốn lọc tất cả các mã khách hàng mà không trùng (Các mã khách hàng trùng thì chỉ lấy 1 thôi) thì làm cách nào. Cụ thể như sau:
Cột A: Mã khách hàng: (00001, 00002, 00002, 00003, 00005, 00004, 00005) thì mình muốn có danh sách chỉ bao gồm (00001, 00002, 00003, 00005, 00004).
Các bạn giúp mình nha. Cám ơn nhiều lắm-+*/
 
Chọn hết cột A, vào menu Data\Filter\Advanced Filter
Đánh dấu mục: Copy to anather location
Mục Copy to: Gõ địa chỉ cell mà bạn muốn copy sang
Đánh dấu mục: Unique records only
OK là xong
 
hiii, bạn có thể nói rõ cách làm file này được không?
 
Bạn có thể nói rõi về cách tạo file này được không?
=IFERROR(INDEX($B$2:$B$13,MATCH(0,COUNTIF($H$1:H1,$B$2:$B$13),0),0),"")
Tại H2 , gạn gõ công thức sau nhé, kết thúc công thức Ctrl+Shift+Enter
Muốn xem bài cũ thì ấn phím Ctrl+F3 lên, người làm đặt name lọc trùng với lên "Lọc" tương đương với công thức ở trên thôi
STT bạn tự gõ lấy nhé
 
Chào bạn! mình đã tải và dùng file đó nhưng trường dữ liệu của mình rất nhiều mà file này chỉ đặt hàm tới ô G30, mình đã copy, kéo thả tới ô G1000 nhưng kết quả không đúng, bạn giúp mình một thể nhé
Cảm ơn bạn nhiều
 

File đính kèm

Chào bạn! mình đã tải và dùng file đó nhưng trường dữ liệu của mình rất nhiều mà file này chỉ đặt hàm tới ô G30, mình đã copy, kéo thả tới ô G1000 nhưng kết quả không đúng, bạn giúp mình một thể nhé
Cảm ơn bạn nhiều
PHP:
Sub Dic()
Dim Sarr, Arr, i As Long, k As Long, Dic As Object
Sarr = Range([B2], [B65000].End(xlUp)).Resize(, 1).Value2
ReDim Arr(1 To UBound(Sarr, 1), 1 To 2)
Set Dic = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(Sarr, 1)
        If Not Dic.exists(Sarr(i, 1)) Then
            k = k + 1
            Dic.Add Sarr(i, 1), k
            Arr(k, 1) = k
            Arr(k, 2) = Sarr(i, 1)
        End If
    Next
    [F2:G65000].ClearContents
    [F2].Resize(k, 2).Value = Arr
Set Dic = Nothing


End Sub


Bạn dùng đoạn này xem sao,
mà dùng pivot table cho nhẹ bạn ah, lại dễ nữa
 
PHP:
Sub Dic()
Dim Sarr, Arr, i As Long, k As Long, Dic As Object
Sarr = Range([B2], [B65000].End(xlUp)).Resize(, 1).Value2
ReDim Arr(1 To UBound(Sarr, 1), 1 To 2)
Set Dic = CreateObject("Scripting.Dictionary")
    For i = 1 To UBound(Sarr, 1)
        If Not Dic.exists(Sarr(i, 1)) Then
            k = k + 1
            Dic.Add Sarr(i, 1), k
            Arr(k, 1) = k
            Arr(k, 2) = Sarr(i, 1)
        End If
    Next
    [F2:G65000].ClearContents
    [F2].Resize(k, 2).Value = Arr
Set Dic = Nothing


End Sub


Bạn dùng đoạn này xem sao,
mà dùng pivot table cho nhẹ bạn ah, lại dễ nữa

Cảm ơn bạn rất nhiều, đoạn mã rất hiệu quả mà không gây ra chậm file
Mong bạn đã giúp thì giúp cho chót :d cái file này của mình dùng trường dữ liệu rất dàu nên nếu có copy các công thức đến xuống dòng 3166 và quay maco thì cũng chạy rất chậm, bạn giúp mình hướng dẫn mình viết để nó có thể chạy nhanh hơn không, các dòng 2,3,4 đã chứa hàm gốc, mình muốn các hàng: 5,6,7; 8,9,10; ....... đến hàng 3164,3165,3166 có công thức được copy từ tổ hợp 3 hàng 2,3,4 thì mình sẽ làm thế nào để file chạy nhanh
Rất mong được bạn giúp đỡ, cảm ơn bạn nhiều!
 

File đính kèm

Cảm ơn bạn rất nhiều, đoạn mã rất hiệu quả mà không gây ra chậm file
Mong bạn đã giúp thì giúp cho chót :d cái file này của mình dùng trường dữ liệu rất dàu nên nếu có copy các công thức đến xuống dòng 3166 và quay maco thì cũng chạy rất chậm, bạn giúp mình hướng dẫn mình viết để nó có thể chạy nhanh hơn không, các dòng 2,3,4 đã chứa hàm gốc, mình muốn các hàng: 5,6,7; 8,9,10; ....... đến hàng 3164,3165,3166 có công thức được copy từ tổ hợp 3 hàng 2,3,4 thì mình sẽ làm thế nào để file chạy nhanh
Rất mong được bạn giúp đỡ, cảm ơn bạn nhiều!

Công thức mảng, lại "giàu có" khi dùng mỗi cột cả triệu dòng, (Cả cột), máy chạy nỗi mới lạ.
Chừa lại 3 dòng công thức mẫu, dùng code copy xuống rồi chuyển thành giá trị.
Muốn nhanh trừ phi bạn nói rõ yêu cầu lọc, dùng VBA lọc luôn kết quả không qua trung gian công thức.
Tôi có chỉnh lại một số công thức mảng chỉ đến dòng 10.000, không để nguyên cột 1.048.576 dòng.
 

File đính kèm

Công thức mảng, lại "giàu có" khi dùng mỗi cột cả triệu dòng, (Cả cột), máy chạy nỗi mới lạ.
Chừa lại 3 dòng công thức mẫu, dùng code copy xuống rồi chuyển thành giá trị.
Muốn nhanh trừ phi bạn nói rõ yêu cầu lọc, dùng VBA lọc luôn kết quả không qua trung gian công thức.
Tôi có chỉnh lại một số công thức mảng chỉ đến dòng 10.000, không để nguyên cột 1.048.576 dòng.
Rất cảm ơn bạn đã giúp đỡ, file chạy ổn, Điều cần làm của mình tiếp theo là mình sẽ phải học 1 lớp VBA :d
 
Rất cảm ơn bạn đã giúp đỡ, file chạy ổn, Điều cần làm của mình tiếp theo là mình sẽ phải học 1 lớp VBA :d
Chúc mừng bạn đã hứa sẽ "bước vào con đường đau khổ với VBA".
Tôi không phải chuyên ngành, cũng không hiểu nỗi mấy công thức của bạn muốn ra kết quả thế nào.
Làm thí thí giết thời gian thôi.
Bạn xem file không còn công thức nào, cả 2 sheet chỉ bấm nút thôi nhé.
Chỉ thấy mấy con số là giống nhau. Kết quả cột Load và Loc thì chưa hiểu.
---------------------
Ủa! Mà hình như nôi dung làm việc của bài này không giống với tiêu đề hỏi bài à nghe (Lọc kết quả không trùng - từ tháng 12/2007)
Bạn chen vào topic người khác rồi.
Híc!
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom