Các câu hỏi về lọc ra danh sách duy nhất (loại bỏ dữ liệu trùng)

Liên hệ QC
Hình như cái này ngược rồi! Phải như thế này mới được:
Mã:
 =if(Countif($B:$B,A1)>0,"",A1)
Mà làm sao làm được Countif(A1,$B$1:$B) nhỉ?
Sorry! Mình nhầm cú pháp. Hôm qua vào thấy câu hỏi đơn giản nên reply luôn không text trên Excel nên bị nhầm.
Thank!
 
Trong Excel2003, đề bài sẽ như sau:

Chắc cái này trong E2007 rồi, phải tránh thôi, vì mình chưa có xài qua!
Trong các cột 'C' & 'D' ta có khoảng 100.000 số khác nhau;
Và trên cột 'A' ta có 50.000 số khác nhau, mà ta biêt rằng 20.000 số trong cột 'A' trùng với các số trong cột 'C' hoặc 'D'

Hãy lập danh các số không trùng giữa 'A' với 'C' & 'D' tại 'F' & 'G'!
Xin mời các nhà 'Siêu Công Thức' ra tay tiếp!

Xin cảm ơn các bạn quan tâm!
Chúc sức khỏe!:-=)(&&@@--=--
 
Lọc bỏ dòng dữ liệu trùng

Tình hình là em có cái file này nhờ các cao nhân chỉ giáo hộ em.
Trong cái file mẫu này mấy cái dòng em đánh dấu màu giống nhau là những ô có dữ liệu trùng nhau.
Vấn đề đặt ra bây giờ là làm sao mà phát hiện và bỏ đi những dòng trùng để xử lý dữ liệu chính xác. Cơ sở dữ liệu của em nó khoảng hơn mấy trăm nghìn dòng nên không thể phát hiện vào xóa bằng tay được.
EM xin cảm ơn các bác
 

File đính kèm

  • tach trung.xls
    23 KB · Đọc: 89
Bạn chọn 1 cột trống nối tất cả các cột lại để kiểm tra (Chắc chắn số liệu trong từng cột hoàn toàn giống nhau.) Sau đó dùng hàm contif đếm giá trị trong từng ô nối, và lọc theo điều kiện số đếm >1.Trước khi lọc nên sort lại để dữ liệu trùng nằm kề nhau.
Có 1 cách nữa nhanh hơn, bạn chèn lên trên cùng 2-3 dòng. Chép dòng tiêu đề dán vào dòng 1 dòng 2 để trống.
Vào Advance filter chọn vùng lọc là vùng dữ liệu và vùng tiêu chuẩn là các ô tương ứng tại dòng 1 và 2, nhớ nháy vào unique record only. Như vậy ta đwợc dữ liệu duy nhất và chép ra chỗ khác là xong
 

File đính kèm

  • Copy of tach trung-1sea.xls
    34.5 KB · Đọc: 129
Lần chỉnh sửa cuối:
Một cách khác, để tham khảo

PHP:
Option Explicit
Sub XoaTrung()
 Dim lRow As Long, Ww As Long
 Dim dRng As Range
 Columns("A:A").Select:              Selection.Insert Shift:=xlToRight
 [A1] = "TT":                       lRow = Cells(Rows.Count, "B").End(xlUp).Row
 For Ww = 2 To lRow
   Cells(Ww, "A") = Ww - 1
 Next Ww
 Sort2Column [H2], [a2]
 For Ww = 3 To lRow
   With Cells(Ww, "H")
      If .Value = .Offset(-1) And .Offset(, 1) = .Offset(-1, 1) _
         And .Offset(, -5) = .Offset(-1, -5) Then
         If dRng Is Nothing Then
            Set dRng = .Offset()
         Else
            Set dRng = Union(dRng, .Offset())
         End If
      End If
   End With
 Next Ww
 'MsgBox dRng.Address'
 dRng.EntireRow.Select:                          Selection.Delete
 Sort2Column [a2], [H2]
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
 
End Sub
Mã:
[B]Sub Sort2Column(Rng1 As Range, rng2 As Range)[/B]
    Columns("A:N").Select
    Selection.Sort Key1:=Rng1, Order1:=xlAscending, Key2:=rng2 _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1
[B]End Sub[/B]
 
Mình bổ xung thêm cách lọc Advance Filter
 

File đính kèm

  • tach trung-1sea2.xls
    45 KB · Đọc: 117
Ví dụ dữ liệu là vùng $A$1:$M$24. Lọc bằng Advance Filter với các mục chọn:
+ Copy to another location
+ List range: $A$1:$M$24
+ Criteria range: bỏ trống
+ Copy to: $O$1
+ Unique records only
Nó sẽ lọc các dòng dữ liệu không trùng sang ô O1.

Dùng VBA:
Mã:
Sub AdvancedFilter()
cc = Cells(1, 1).End(xlToRight).Column
rdt = Cells(1, 1).End(xlDown).Row
Set data = Range(Cells(1, 1), Cells(rdt, cc))
Range(Cells(1, cc + 2), Cells(Cells.Rows.Count, Cells.Columns.Count)).ClearContents
data.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Cells(1, cc + 2), Unique:=True
rfl = Cells(1, cc + 2).End(xlDown).Row
Range(Cells(1, cc + 2), Cells(rdt, cc * 2 + 1)).Copy Cells(1, 1)
Range(Cells(1, cc + 2), Cells(rdt, cc * 2 + 1)).ClearContents
Set data = Nothing
End Sub
Nó tự động xác định vùng lọc, lọc, xóa dữ liệu cũ và thay bằng dữ liệu đã lọc
 
Sao không dùng Advanced Filter cho gọn nhỉ?
PHP:
Sub LocTrung()
  Dim Rng As Range
  [A1].CurrentRegion.Clear
  Set Rng = Sheet1.[A1].CurrentRegion
  Rng.AdvancedFilter Action:=2, CopyToRange:=[A1], Unique:=True
End Sub
 

File đính kèm

  • Loc trung.xls
    36.5 KB · Đọc: 178
trích lọc không trùng nhau trong một cột , cứu cứu !
Các bác, anh chị, các cao thủ giúp em. Em có một cột (3635 row)chứa các số điện thoại nhưng trong đó có những số trùng nhaum vậy làm cách nào để trích ra các số "không trùng nhau, các số trùng nhau thì lấy 1 lần thôi !
xin giúp em ! thanks!
 
Vấn đề của bạn sẽ được giải quyết nhanh gọn bằng giải pháp Ađvance Filter

trích lọc không trùng nhau trong một cột , cứu cứu !
Các bác, anh chị, các cao thủ giúp em. Em có một cột (3635 row)chứa các số điện thoại nhưng trong đó có những số trùng nhaum vậy làm cách nào để trích ra các số "không trùng nhau, các số trùng nhau thì lấy 1 lần thôi !
xin giúp em ! thanks!
Bạn hãy đến đây:
http://www.google.com.vn/custom?hl=...um=0&ct=result&cd=1&q=advanced+Filter&spell=1
 
Bạn thử dùng cách này xem:
b1. Sắp xếp cột đó theo 1 thứ tự tăng hoặc giảm dần
b2. Dùng hàm if để so sánh xem dữ liệu hàng trên và hàng dưới nếu bằng nhau thì gán cho một giá trị
b3. Sắp xếp lại 2 cột đó theo cột vừa lấy giá trị của hàm if là ok
 
Ví dụ: giả sử bạn muốn lọc dữ liệu trùng trong cột C dữ liệu bạn muốn lọc trùng từ dòng số 3 (c3)
Bạn chọ 1 cột mà chưa hề có dữ liệu ( ví dụ cột F – tại vị trí F3), nhập vào đó công thức sau:
F3= if(countif($c$3:c3,c3)=1,max($c$2:c2)+1,””)
Sau đó kéo chuột xuống.
Kế đến, bạn sử dụng auto filter, bạn không chọn gì khác ngoài chọn non Blanks).
Chúc bạn thành công
 
Lần chỉnh sửa cuối:
trích lọc không trùng nhau trong một cột , cứu cứu !
Các bác, anh chị, các cao thủ giúp em. Em có một cột (3635 row)chứa các số điện thoại nhưng trong đó có những số trùng nhaum vậy làm cách nào để trích ra các số "không trùng nhau, các số trùng nhau thì lấy 1 lần thôi !
xin giúp em ! thanks!

BẠn vào link dười chữ ký của mình, sẽ có vài VD để bạn tham khảo
 
Ví dụ dữ liệu là vùng $A$1:$M$24. Lọc bằng Advance Filter với các mục chọn:
+ Copy to another location
+ List range: $A$1:$M$24
+ Criteria range: bỏ trống
+ Copy to: $O$1
+ Unique records only
Nó sẽ lọc các dòng dữ liệu không trùng sang ô O1.

Đúng là ngày nào mình cũng dùng Advance mà toàn lọc một hàng, cách của bạn hay thật. Cảm ơn bạn
 
Chào các bác,
Em không chuyên nhưng cũng xin đưa lời giải sau (theo đề bài của bác DungVC):
1. lấy ra số ở cột A khác với số ở cột B:
- tại ô C1 gõ lệnh =IF(COUNTIF($B$1:$B$5,A1),"",A1) Enter rồi kéo ...
tìm kiếm trong cột B và tham chiếu với ô A1, nếu trùng (giống) thì bỏ qua (chèn ký tự chống), ngược lại thì đưa ra ô A1.
2. lấy ra số ở cột B khác với số ở cột A:
- tại ô D1 gõ lệnh =IF(COUNTIF($A$1:$A$5,B1),"",B1) Enter rồi kéo ...
Chúc vui.
 
Hỏi về cách lọc dữ liệu trùng trong Exel?

Em có 1 file Exel, có 2 vùng dữ liệu V1 và V2 ban đâu giống nhau, nhưng sau đó vùng V2 hàng ngày có sự thay đổi giá trị. Vậy em phải dùng hàm gì để lọc và thấy được sự thay đổi này vậy? EM là thành viên mới, mong các bác chỉ giúp. Thanks.
 
Mình tham gia cách đơn giản nhất là:
Lựa 1 số cột mang tính chất đặc thù riêng của từng dòng, ví dụ như mã hàng, mã khách, số phiếu, ID... dùng hàm match hay Vlookup để tìm trong bảng tương ứng. Tất cả các dòng lỗi là thay đổi giữa hai bảng thể hiện biến động:
-Lỗi ở bảng cố định thì tại bảng biến động đã xóa mất dòng này hoặc sửa.
-Lỗi ở bảng biến động là thêm mới hoặc sưa.
Bạn thử xem sao nhé.
 
Lần chỉnh sửa cuối:
Bạn đặt ở cột v3 lệnh sau: =if(v1=v2,Trùng, không trùng) và copy cho toàn bộ các ô trong cột v3. Sau đó bạn dùng autofill để lọc ở cột v3 "trùng" thì sẽ biết được những dòng nào trong v1 và v2 trùng nhau.
 
Trích lọc dữ liệu từ file dữ liệu thô

Chào các bạn,

Mình có một vấn đề cần giúp đỡ. Có bạn nào biết cách rút trích dữ liệu từ file dữ liệu thô không? Mình có gửi file đính kèm và mong nhận được sự giúp đỡ của các bạn.
 

File đính kèm

  • Template for Import Data.xls
    38 KB · Đọc: 80
Web KT
Back
Top Bottom