Văn bản & tiếng Việt

Lọc trùng danh sách khách hàng, số điện thoại và làm sạch dữ liệu

Đội ngũ Softonline7 phút đọc

Lọc trùng danh sách khách hàng và chuẩn hóa số điện thoại trước khi nhập phần mềm

Gộp khách từ form đăng ký, tin nhắn Zalo, sổ tay và file Excel cũ, bạn gần như chắc chắn có người bị ghi nhiều lần. Lọc trùng danh sách không chỉ là xóa các dòng giống hệt nhau: cùng một số điện thoại có thể được ghi theo ba, bốn kiểu khác nhau. Bài này chỉ cách chuẩn hóa dữ liệu trước, lọc sau, để vừa không sót bản trùng vừa không xóa nhầm khách thật.

Tóm tắt nhanh

  • Chọn một trường làm "khóa" để so trùng: số điện thoại, email hoặc mã khách. Không lọc trùng chỉ dựa vào họ tên.
  • Chuẩn hóa trước khi lọc: bỏ dấu cách, dấu chấm trong số điện thoại, đổi +84 về 0, đưa email về chữ thường.
  • Dán cột khóa vào công cụ lọc trùng, dòng rỗng và sắp xếp, bấm "Làm sạch danh sách" rồi xem tab "Dòng đã loại" để biết dòng nào trùng với dòng nào.
  • Luôn giữ một bản gốc. Lệnh Remove Duplicates của Excel xóa dữ liệu vĩnh viễn trên vùng bạn chọn.

Vì sao danh sách khách hàng hay bị trùng mà khó phát hiện?

Trùng lặp hiếm khi là hai dòng giống nhau từng ký tự. Thường gặp nhất là cùng một người nhưng dữ liệu được nhập ở nhiều nơi, mỗi nơi một kiểu:

  • Số điện thoại: 0912 345 678, 0912.345.678, 0912-345-678, +84 912 345 678 hay 84912345678 đều là một số.
  • Email: AN.Nguyen@gmail.com và an.nguyen@gmail.com chỉ khác chữ hoa.
  • Họ tên: "NGUYỄN VĂN HÒA", "nguyễn văn hòa", "Nguyễn Văn Hoà" (dấu huyền đặt ở chữ a thay vì chữ o).
  • Khoảng trắng và ký tự ẩn: dấu cách thừa ở cuối dòng, hoặc ký tự zero-width dính theo khi sao chép từ trang web.

Máy tính so sánh từng ký tự, nên chỉ cần khác một dấu cách là hai dòng bị coi là hai khách. Vì vậy bước chuẩn hóa quyết định kết quả nhiều hơn bước lọc.

Chọn trường nào để xác định hai khách là một?

Họ tên không đủ làm khóa vì người Việt trùng tên rất nhiều; hai chị "Nguyễn Thị Lan" có thể là hai khách khác nhau. Hãy chọn trường mà mỗi khách chỉ có một giá trị.

Trường khóaChuẩn hóa thế nàoLưu ý
Số điện thoạiChỉ giữ chữ số và đưa về một quy ước nội bộ thống nhất, chẳng hạn dạng bắt đầu bằng 0Một khách có thể dùng hai số; đối chiếu thêm tên
EmailBỏ khoảng trắng, đưa về chữ thườngGmail cá nhân bỏ qua dấu chấm trước @, công cụ không tự nhận ra điều này
Mã khách hàngBỏ khoảng trắng, thống nhất chữ hoaTốt nhất nếu phần mềm bán hàng đã cấp mã
Họ tênViết hoa chữ cái đầu, gộp dấu cách thừaChỉ dùng để rà lại, không dùng để xóa

Với Gmail cá nhân, Google xác nhận dấu chấm không làm thay đổi địa chỉ: an.nguyen@gmail.com và annguyen@gmail.com cùng một hộp thư. Quy tắc này không áp dụng cho email công ty hay trường học dùng tên miền riêng, nên đừng tự bỏ dấu chấm với các địa chỉ đó.

Chuẩn hóa số điện thoại trước khi lọc trùng danh sách

Nếu danh sách đang ở Excel, thêm một cột phụ để chuẩn hóa thay vì sửa thẳng cột gốc. Giả sử số điện thoại nằm ở cột A:

  1. Định dạng cột phụ là Text trước khi dán hay điền công thức, để Excel không xóa số 0 ở đầu.
  2. Bỏ dấu cách, dấu chấm, gạch ngang: =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2," ",""),".",""),"-","")
  3. Đổi đầu số quốc tế về 0: =IF(LEFT(B2,3)="+84","0"&MID(B2,4,20),IF(AND(LEFT(B2,2)="84",LEN(B2)=11),"0"&MID(B2,3,20),B2))
  4. Lọc các dòng có độ dài khác 10 bằng =LEN(C2) để kiểm tra tay: số bàn, số thiếu chữ số hoặc nhập nhầm.

Nếu máy báo lỗi công thức, hãy đổi dấu phẩy ngăn cách đối số thành dấu chấm phẩy; điều này phụ thuộc cài đặt vùng của Windows. Với email, dùng =LOWER(TRIM(A2)). Với họ tên, xem cách viết hoa chữ cái đầu hàng loạt bằng công cụ đổi kiểu chữ và khoảng trắng.

Cách lọc trùng danh sách bằng công cụ trên trình duyệt

Công cụ Lọc trùng, dòng rỗng và sắp xếp của Softonline xử lý ngay trên trình duyệt, danh sách không được gửi lên máy chủ. Điều này hợp với dữ liệu khách hàng vốn cần giữ kín. Mỗi lần xử lý tối đa 200.000 dòng hoặc 10 MB.

  1. Dán cột khóa đã chuẩn hóa vào ô "Danh sách gốc", mỗi dòng một giá trị. Nếu dòng đầu là tiêu đề cột, nhập 1 vào ô "Giữ nguyên số dòng tiêu đề ở đầu".
  2. Giữ ba bước mặc định: "Xóa khoảng trắng đầu và cuối mỗi dòng", "Xóa dòng rỗng" và "Xóa dòng trùng".
  3. Kiểm tra tùy chọn so sánh. Mặc định công cụ không phân biệt chữ hoa/thường, có phân biệt dấu và coi chữ có dấu gõ kiểu dựng sẵn hay tổ hợp là một.
  4. Chọn "Khi trùng thì giữ": "Bản xuất hiện đầu tiên" hoặc "Bản xuất hiện cuối cùng". Nếu danh sách xếp theo thời gian, giữ bản cuối để lấy thông tin mới nhất.
  5. Để "Sắp xếp" là "Giữ thứ tự gốc" nếu bạn cần đối chiếu lại với file Excel.
  6. Bấm "Làm sạch danh sách". Khung kết quả cho biết số dòng ban đầu, còn lại, đã xóa, trùng và rỗng.
  7. Mở tab "Dòng đã loại" để xem từng dòng bị loại kèm lý do, ví dụ "Trùng với dòng 12". Cuối cùng bấm "Sao chép", "Tải .txt", "Tải .csv" hoặc "Tải báo cáo dòng đã loại".

Nếu dữ liệu được sao chép từ web, bật thêm "Xóa ký tự vô hình (zero-width) trong mỗi dòng". Trang sẽ cảnh báo khi phát hiện loại ký tự này.

Danh sách có nhiều cột thì lọc thế nào?

Công cụ coi mỗi dòng là một giá trị và không tách cột. Với bảng có họ tên, số điện thoại, địa chỉ, bạn có hai cách:

  • Dùng công cụ để tìm, dùng Excel để xóa. Dán cả cột khóa kèm dòng tiêu đề, bắt đầu từ hàng 1 của Excel. Khi đó số "Dòng gốc" trong báo cáo trùng với số hàng trong Excel, bạn biết chính xác hàng nào cần xem lại.
  • Đánh dấu ngay trong Excel. Thêm cột =COUNTIF($C$2:C2,C2)>1 rồi kéo xuống. Kết quả TRUE là lần xuất hiện thứ hai trở đi, bạn lọc ra để xem trước khi xóa.

Lệnh Data > Remove Duplicates của Excel cho chọn cột làm khóa nhưng xóa dữ liệu vĩnh viễn; Microsoft khuyên sao chép dữ liệu gốc sang trang tính khác trước khi chạy. Cách đánh dấu bằng COUNTIF chậm hơn một chút nhưng cho bạn quyết định từng dòng, ví dụ gộp ghi chú của hai bản trùng trước khi bỏ một bản.

Lỗi thường gặp

  • Tắt "Phân biệt dấu" để bắt được nhiều trùng hơn. Khi tắt, "Hà Nội" và "Ha Noi" được coi là một, nhưng "Lê Hà" và "Lê Hạ" cũng vậy. Chỉ tắt khi so mã, email hoặc dữ liệu vốn không dấu.
  • Coi "Hòa" và "Hoà" là hai người. Hai kiểu đặt dấu này là hai chuỗi ký tự khác nhau. Chọn sắp xếp A → Z để các tên gần giống nằm gần nhau, rồi rà bằng mắt.
  • Mở file .csv bằng Excel làm mất số 0 đầu. Excel tự hiểu cột số điện thoại là số. Hãy nhập qua Data > From Text/CSV và chọn kiểu Text cho cột đó, hoặc dán kết quả vào cột đã định dạng Text.
  • Thấy dấu nháy đơn trước số +84 trong file .csv. Đó là lớp chống chèn công thức với giá trị bắt đầu bằng + = - @. Đưa số về dạng 0... trước khi xuất là gọn nhất.
  • Xóa ngay mà không xem lại. Một số khách dùng chung số điện thoại công ty. Hãy đọc tab "Dòng đã loại" trước khi xóa trong file chính.

Khi việc thu thập khách hàng diễn ra hằng ngày, chặn trùng ngay từ đầu sẽ đỡ công dọn dẹp. Module Phân bổ Lead qua Telegram chuẩn hóa số điện thoại để chống nhập trùng lead, còn Biểu mẫu & Check-in QR chặn đăng ký trùng theo email hoặc số điện thoại cho sự kiện.

Câu hỏi thường gặp

Lọc trùng có làm đảo lộn thứ tự danh sách không?

Không, nếu bạn để "Sắp xếp" là "Giữ thứ tự gốc". Các dòng còn lại giữ nguyên thứ tự ban đầu; khi chọn giữ bản cuối, mỗi giá trị nằm ở vị trí lần xuất hiện cuối của nó.

Hai email chỉ khác chữ hoa có bị coi là trùng không?

Có, vì mặc định công cụ không phân biệt chữ hoa/thường. Nếu bạn lọc mã hàng mà chữ hoa có ý nghĩa, hãy bật "Phân biệt chữ hoa/thường".

Danh sách khách hàng có bị gửi lên máy chủ không?

Không. Việc lọc chạy trên trình duyệt của bạn, danh sách và kết quả mất khi đóng trang. Trang chỉ nhớ các tùy chọn lọc trên thiết bị đó.

Có lọc trùng được nhiều cột cùng lúc không?

Công cụ chỉ so từng dòng như một giá trị. Nếu cần so theo hai cột, ví dụ họ tên và ngày sinh, hãy ghép chúng thành một cột trong Excel bằng =B2&"|"&C2 rồi dán cột ghép vào công cụ.

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây