Farris có một trang tính chứa địa chỉ. Một số địa chỉ rất gần giống nhau, chẳng hạn như địa chỉ đường phố giống nhau và chỉ phần số dãy của địa chỉ khác nhau. Ví dụ: một hàng có thể có địa chỉ là “85 Seymour Street, Suite 101” và một hàng khác có thể có địa chỉ “85 Seymour Street, Suite 412.” Farris đang tự hỏi làm cách nào để xóa các địa chỉ trùng lặp trong danh sách địa chỉ dựa trên một phần đối sánh — chỉ dựa trên địa chỉ đường phố và bỏ qua số căn hộ.

Giải pháp đơn giản nhất là chia nhỏ các địa chỉ thành các cột riêng biệt, sao cho số bộ nằm trong cột riêng của nó. Bạn có thể làm điều đó bằng cách làm theo các bước sau:

  1. Đảm bảo rằng có một cột trống ở bên phải của cột địa chỉ.

  2. Chọn các ô chứa địa chỉ.

  3. Chọn Văn bản thành Cột từ menu Dữ liệu. Excel khởi động trình hướng dẫn Chuyển Văn bản thành Cột. (Xem Hình 1.)

  4. Trong bước đầu tiên của Wizard, hãy đảm bảo rằng tùy chọn Delimited được chọn, sau đó bấm Next.

  5. Trong bước thứ hai của Trình hướng dẫn, hãy đảm bảo hộp kiểm Dấu phẩy được chọn, sau đó bấm Tiếp theo.

  6. Trong bước thứ ba của Trình hướng dẫn, hãy nhấp vào Kết thúc.

Địa chỉ đường phố bây giờ sẽ nằm trong cột ban đầu và cột trống trước đây giờ sẽ chứa mọi thứ sau dấu phẩy trong các địa chỉ ban đầu. Nói cách khác, số bộ nằm trong cột riêng của nó. Với dữ liệu của bạn trong điều kiện này, bạn có thể dễ dàng sử dụng tính năng lọc để hiển thị hoặc trích xuất các địa chỉ đường phố duy nhất.

Nếu bạn không muốn chia vĩnh viễn các địa chỉ thành hai cột, bạn có thể sử dụng công thức để xác định các địa chỉ trùng lặp. Giả sử rằng danh sách địa chỉ được sắp xếp, bạn có thể sử dụng công thức tương tự như sau:

=IF(OR(ISERROR(FIND(",",A3)),ISERROR(FIND(",",A2))), "",IF(LEFT(A3,FIND(",",A3))=LEFT(A2,FIND(",",A2)), "Duplicate",""))

Công thức này giả định rằng các địa chỉ cần kiểm tra nằm trong cột A và công thức này được đặt ở đâu đó trong hàng 3 của một cột khác. Đầu tiên, nó sẽ kiểm tra xem có dấu phẩy trong địa chỉ trong hàng hiện tại hoặc địa chỉ trong hàng trước đó hay không. Nếu không có dấu phẩy trong một trong hai địa chỉ, thì nó cho rằng không có khả năng trùng lặp.

Nó có một dấu phẩy trong cả hai, công thức kiểm tra phần của các địa chỉ trước dấu phẩy. Nếu chúng khớp với nhau thì từ “Trùng lặp”

Được trả lại; nếu chúng không khớp, thì không có gì được trả lại.

Kết quả của việc sao chép công thức xuống cột (sao cho một công thức tương ứng với mỗi địa chỉ) là bạn sẽ có từ “Nhân bản”

xuất hiện bên cạnh những địa chỉ khớp với phần đầu tiên của địa chỉ trước đó. Sau đó, bạn có thể tìm ra những gì bạn muốn làm với những bản sao được tìm thấy.

Một tùy chọn khác là sử dụng macro để xác định các bản sao có thể có của bạn.

Có bất kỳ cách nào mà macro để xác định các bản sao có thể được nghĩ ra; phương thức hiển thị ở đây chỉ đơn giản là kiểm tra các ký tự X đầu tiên của giá trị “khóa” so với một dải ô và trả về địa chỉ của ô phù hợp đầu tiên.

Function NearMatch(vLookupValue, rng As Range, iNumChars)

Dim x As Integer     Dim sSub As String

Set rng = rng.Columns(1)

sSub = Left(vLookupValue, iNumChars)

For x = 1 To rng.Cells.Count         If Left(rng.Cells(x), iNumChars) = sSub Then             NearMatch = rng.Cells(x).Address             Exit Function         End If     Next     NearMatch = CVErr(xlErrNA)

End Function

Ví dụ: giả sử rằng địa chỉ của bạn nằm trong phạm vi A2: A100.

Trong cột B, bạn có thể sử dụng chức năng NearMatch này để trả về địa chỉ của các bản sao có thể có. Trong ô B2 nhập công thức sau:

=NearMatch(A2,A3:A$100,12)

Tham số đầu tiên cho hàm (A2) là ô bạn muốn sử dụng làm “khóa”. 12 ký tự đầu tiên của ô này được so sánh với 12 ký tự đầu tiên của mỗi ô trong phạm vi A3: A $ 100. Nếu một ô được tìm thấy trong phạm vi có 12 ký tự đầu tiên khớp với nhau, thì địa chỉ của ô đó sẽ được hàm trả về. Nếu không tìm thấy kết quả phù hợp nào, thì lỗi # N / A được trả về. Nếu bạn sao chép công thức từ B2 xuống ô B3: B100, mỗi địa chỉ tương ứng trong cột A được so sánh với tất cả các địa chỉ bên dưới nó. Bạn kết thúc với một danh sách các bản sao có thể có trong danh sách ban đầu.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (2782) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: