Xoá trùng lặp trong danh sách khách hàng không chỉ là bấm một nút trong Excel, mà là quyết định hai dòng nào thật sự là một người và giữ lại thông tin nào khi gộp. Nút xoá trùng của Excel chỉ bắt được những dòng giống nhau từng ký tự. Phần lớn trùng lặp trong thực tế lại không giống nhau như vậy: cùng một chị khách nhưng một dòng ghi số điện thoại có dấu chấm, một dòng ghi liền; một dòng có tên công ty, một dòng chỉ có tên người.
Bài này đi theo trình tự một nhân viên văn phòng hay chủ cửa hàng có thể làm trong một buổi chiều: hiểu trùng lặp sinh ra từ đâu, chuẩn bị bảng, tìm trùng y hệt bằng công cụ có sẵn, tìm trùng gần đúng với sự hỗ trợ của AI mà không phải dán cả danh sách khách vào chatbot, rồi gộp và kiểm lại. Các con số trong bài đều là ví dụ giả định.
Trùng lặp trong danh sách khách hàng sinh ra từ đâu
Hiểu nguồn gốc giúp bạn biết nên tìm trùng theo cột nào. Nguồn phổ biến nhất là gộp nhiều tệp: danh sách khách mua tại quầy, danh sách đặt hàng qua mạng xã hội, danh sách khách tham gia chương trình tích điểm, mỗi tệp do một người giữ. Khi dồn về một bảng, khách nào mua cả hai kênh sẽ xuất hiện hai lần hoặc nhiều hơn.
Nguồn thứ hai là nhập tay mỗi lần một kiểu. Người bán ca sáng gõ "Nguyễn Thị Hoa", người ca tối gõ "chị Hoa" kèm số điện thoại. Có người gõ thừa một dấu cách ở cuối, có người dùng bộ gõ khác nên chữ có dấu trông giống hệt nhưng mã ký tự bên trong khác nhau. Với máy tính, đó là hai chuỗi khác hẳn.
Nguồn thứ ba là khách tự đăng ký lại khi quên đã có tài khoản, hoặc đổi số điện thoại rồi đăng ký bằng số mới. Trường hợp này khó nhất vì hai dòng có thể không chung trường nào ngoài họ tên, mà họ tên lại là thứ trùng nhiều nhất giữa những người khác nhau.
Hệ quả của trùng lặp không chỉ là bảng dài. Một khách bị nhắn tin khuyến mãi hai lần sẽ khó chịu; điểm tích luỹ bị chia đôi khiến khách thấy thiệt; số khách hàng báo cáo lên cấp trên bị thổi phồng. Vì vậy mục tiêu không phải "ít dòng nhất có thể" mà là mỗi người thật ứng với đúng một dòng.
Ba mức trùng: y hệt, gần đúng và trùng tên khác người
Trước khi đụng vào bảng, hãy phân biệt ba mức dưới đây. Mỗi mức cần một cách xử lý riêng, và nhầm mức thứ ba thành mức thứ hai là lỗi gây hậu quả lớn nhất.
| Mức | Ví dụ giả định | Cách xử lý |
|---|---|---|
| Trùng y hệt | Hai dòng cùng họ tên, cùng số điện thoại, cùng địa chỉ, sinh ra do dán một tệp hai lần | Xoá bằng công cụ có sẵn của Excel sau khi đã lưu bản sao |
| Trùng gần đúng | "Trần Văn Minh" và "Tran Van Minh", cùng số điện thoại nhưng một dòng có dấu chấm giữa các nhóm số | Chuẩn hoá các cột trước, rồi tìm lại; phần còn sót đưa vào danh sách nghi trùng để người duyệt |
| Trùng tên khác người | Hai khách cùng tên "Lê Thị Lan" ở hai phường khác nhau, số điện thoại khác nhau | Giữ nguyên cả hai; không bao giờ gộp chỉ vì trùng họ tên |
Tên tiếng Việt trùng rất nhiều, nên họ tên một mình gần như không bao giờ đủ làm căn cứ gộp. Căn cứ đáng tin hơn là số điện thoại đã chuẩn hoá, địa chỉ email viết thường, hoặc mã khách hàng nếu hệ thống bán hàng có cấp. Khi chỉ có họ tên khớp mà các trường khác trống, nên để dòng đó ở trạng thái "chờ xác minh" thay vì đoán.
Chuẩn bị bảng trước khi xoá
Phần lớn sai sót khi xoá trùng đến từ việc bỏ qua bước chuẩn bị. Làm đủ các bước sau rồi mới bắt đầu tìm.
- Lưu một bản sao nguyên trạng. Đặt tên có ngày và chữ "goc", để riêng một thư mục, không mở ra sửa. Mọi thao tác làm trên bản sao thứ hai.
- Thêm cột số thứ tự gốc. Điền 1, 2, 3 đến cuối bảng trước khi sắp xếp hay lọc. Cột này cho phép bạn truy ngược mỗi dòng về vị trí ban đầu và khôi phục thứ tự khi cần.
- Thêm cột nguồn. Ghi dòng đó đến từ tệp nào (quầy, mạng xã hội, tích điểm). Khi gộp hai bản ghi, biết nguồn giúp bạn chọn thông tin đáng tin hơn.
- Chuẩn hoá sơ bộ các cột dùng làm khoá. Bỏ khoảng trắng thừa bằng hàm TRIM, đưa email về chữ thường bằng LOWER, đưa số điện thoại về một dạng duy nhất. Cách chuẩn hoá số điện thoại có bài riêng trong cùng danh mục.
- Tạo cột khoá ghép. Ví dụ nối số điện thoại đã chuẩn hoá với email: =C2&"|"&LOWER(D2). Dấu gạch đứng giúp tránh trường hợp hai chuỗi khác nhau vô tình nối thành một chuỗi giống nhau.
- Đếm số dòng ban đầu và ghi lại ở một ô riêng. Sau khi xoá, bạn sẽ đối chiếu con số này với số dòng còn lại cộng số dòng đã xoá.
Lưu ý về dấu phân cách trong công thức: các công thức trong bài viết theo Excel bản tiếng Anh, dùng dấu phẩy giữa các đối số. Máy cài định dạng vùng Việt Nam thường dùng dấu chấm phẩy, nên nếu Excel báo lỗi cú pháp, hãy đổi dấu phẩy thành chấm phẩy.
Tìm trùng y hệt bằng công cụ có sẵn của Excel
Tô màu để xem trước khi xoá. Chọn cột khoá, vào Conditional Formatting, chọn Highlight Cells Rules rồi Duplicate Values. Excel tô màu mọi ô có giá trị xuất hiện từ hai lần trở lên. Bước này không xoá gì, chỉ để bạn nhìn quy mô vấn đề và phát hiện những trường hợp lạ, chẳng hạn hàng chục dòng cùng một số điện thoại do nhân viên nhập số của cửa hàng thay cho số của khách.
Đánh dấu lần xuất hiện bằng COUNTIFS. Ở cột mới, công thức =COUNTIFS($E$2:E2,E2) trả về 1 cho lần xuất hiện đầu tiên, 2 cho lần thứ hai, và cứ thế. Lọc các dòng có giá trị lớn hơn 1 là ra danh sách bản sao. Cách này minh bạch hơn nút xoá vì bạn thấy rõ dòng nào sẽ bị bỏ và có thể sửa tay trước.
Dùng nút Remove Duplicates khi đã chắc chắn. Trong thẻ Data có lệnh Remove Duplicates. Bạn chọn cột nào dùng để so; Excel giữ dòng xuất hiện đầu tiên và xoá các dòng sau. Vì vậy hãy sắp xếp trước sao cho dòng bạn muốn giữ (thường là dòng mới cập nhật nhất hoặc dòng đến từ nguồn đáng tin nhất) nằm trên cùng.
Lấy danh sách không trùng bằng UNIQUE. Ở Excel 365 và các bản mới có hàm mảng động, =UNIQUE(E2:E500) trả về danh sách giá trị không lặp mà không đụng vào bảng gốc. Bản Excel cũ hơn không có hàm này; khi đó dùng cách COUNTIFS ở trên.
Đừng chọn tất cả các cột khi xoá trùng. Nếu bạn để Excel so mọi cột, hai dòng chỉ khác nhau ở cột ghi chú sẽ không bị coi là trùng, và bạn tưởng bảng đã sạch. Ngược lại, nếu chỉ so cột họ tên, bạn sẽ xoá nhầm những người trùng tên. Cột so phải là cột khoá đã chuẩn hoá ở bước chuẩn bị.
Trùng gần đúng: nhờ AI gợi cặp nghi trùng mà không dán cả danh sách
Sau khi xoá trùng y hệt, phần còn lại là những cặp gần giống: tên có dấu và không dấu, tên viết tắt, địa chỉ ghi "P." thay cho "Phường". Đây là chỗ AI giúp được nhiều, nhưng cách giúp đúng là đề xuất quy tắc, không phải nhận cả danh sách khách để tự xử lý.
Cách làm an toàn: trích ra khoảng hai mươi dòng mẫu, thay họ tên thật bằng tên giả có cấu trúc tương tự, thay số điện thoại bằng chuỗi giả, giữ nguyên kiểu sai (dấu chấm, khoảng trắng, chữ viết tắt). Rồi hỏi chatbot, ví dụ: "Đây là hai mươi dòng mẫu đã thay dữ liệu giả của một danh sách khách hàng. Hãy liệt kê các kiểu khác biệt khiến hai dòng của cùng một người không khớp nhau, và đề xuất công thức Excel để đưa từng cột về một dạng chung. Không tự gộp dòng nào."
Câu trả lời thường là một danh sách quy tắc: bỏ dấu tiếng Việt để so tên, xoá ký tự không phải số trong cột điện thoại, đưa chữ viết tắt địa chỉ về dạng đầy đủ. Bạn áp dụng các quy tắc đó bằng công thức trên toàn bảng ở máy của mình, dữ liệu thật không rời khỏi tệp. Nếu dùng Excel có Power Query, lệnh gộp bảng (Merge) có tuỳ chọn so khớp gần đúng, cho phép đặt ngưỡng giống nhau; AI có thể giải thích từng tuỳ chọn khi bạn mô tả bảng bằng lời.
Kết quả của bước này là một danh sách cặp nghi trùng, không phải lệnh xoá. Mỗi cặp cần một người biết khách duyệt bằng mắt, tốt nhất là người bán hàng trực tiếp. Một cặp tên giống nhau đến chín phần mười vẫn có thể là mẹ và con gái cùng tên đệm, dùng chung số điện thoại gia đình.
Gộp hai bản ghi: giữ thông tin nào, bỏ thông tin nào
Khi đã xác nhận hai dòng là một người, việc gộp cần quy tắc thống nhất để người khác làm cũng ra cùng kết quả. Gợi ý quy tắc cho danh sách khách hàng của cửa hàng nhỏ:
- Thông tin liên lạc lấy bản mới nhất theo ngày cập nhật; số cũ không xoá hẳn mà chuyển sang cột "số phụ" vì khách có thể vẫn dùng.
- Lịch sử mua hàng và điểm tích luỹ cộng dồn, không lấy một bên. Đây là phần khách để ý nhất.
- Ngày trở thành khách lấy ngày sớm hơn.
- Ghi chú nối cả hai, ngăn cách bằng dấu chấm phẩy, để người sau còn đọc được bối cảnh.
- Đồng ý nhận tin khuyến mãi: nếu một bản ghi ghi khách đã từ chối, giữ trạng thái từ chối. Không lấy bên "đồng ý" chỉ vì nó có lợi cho việc gửi tin.
- Mã khách hàng giữ mã cũ hơn, ghi mã bị gộp vào cột "mã cũ" để các đơn hàng trước đó vẫn tra được.
Nếu danh sách đang nằm trong phần mềm bán hàng chứ không phải Excel, hãy xem phần mềm có chức năng gộp khách hàng riêng hay không. Xoá dòng trực tiếp trong phần mềm có thể làm đơn hàng cũ mất liên kết với khách; chức năng gộp thường xử lý phần đó cho bạn.
Kiểm lại sau khi xoá và ghi nhật ký
Kiểm bằng con số trước, bằng mắt sau. Lấy số dòng ban đầu đã ghi lại, trừ số dòng còn lại, phải bằng đúng số dòng bạn đã xoá hoặc gộp. Nếu lệch, có dòng bị mất ngoài ý muốn, thường do lọc dở mà xoá cả dòng đang ẩn. Tổng điểm tích luỹ của cả bảng trước và sau khi gộp cũng phải bằng nhau nếu bạn cộng dồn đúng.
Sau đó chạy lại bước tô màu trùng lặp trên cột khoá: không còn ô nào được tô là đạt. Chọn ngẫu nhiên khoảng mười khách quen mà bạn biết rõ, tra tên họ trong bảng mới, xem mỗi người có đúng một dòng và thông tin đúng không.
Cuối cùng, ghi một nhật ký ngắn ở trang tính riêng: ngày làm, người làm, số dòng trước và sau, quy tắc gộp đã dùng, danh sách mã khách bị gộp vào mã nào. Lần sau có ai hỏi "sao khách này mất lịch sử mua hàng", nhật ký sẽ trả lời. Bảng đã sạch là nền để phân tích khách quen, tần suất mua; phần đọc số liệu đó là việc của các bài bên AI Phân Tích.
Để lần sau đỡ phải làm lại từ đầu, nguyên nhân gốc cần được chặn: thống nhất một ô nhập số điện thoại có kiểm tra định dạng, tra khách cũ bằng số điện thoại trước khi tạo khách mới, và gom mọi kênh về một bảng chính thay vì mỗi người một tệp.
Câu hỏi thường gặp
Nút Remove Duplicates của Excel giữ lại dòng nào?
Excel giữ dòng xuất hiện đầu tiên theo thứ tự hiện tại của bảng và xoá các dòng sau có cùng giá trị ở những cột bạn chọn. Vì vậy hãy sắp xếp để dòng muốn giữ nằm trên trước khi bấm nút.
Có nên dán cả danh sách khách hàng vào chatbot để nhờ xoá trùng không?
Không nên. Danh sách khách có họ tên, số điện thoại, địa chỉ là dữ liệu cá nhân. Chỉ đưa vào chatbot vài dòng mẫu đã thay bằng dữ liệu giả để xin quy tắc, rồi tự áp dụng quy tắc bằng công thức trên máy của bạn.
Hai khách trùng họ tên thì có gộp được không?
Chỉ trùng họ tên thì không gộp. Tên tiếng Việt trùng rất phổ biến. Cần thêm ít nhất một trường định danh khớp, như số điện thoại đã chuẩn hoá hoặc email, và tốt nhất có người biết khách xác nhận.
Bản Excel cũ không có hàm UNIQUE thì làm sao?
Dùng hàm COUNTIFS với vùng mở rộng dần để đánh số lần xuất hiện, sau đó lọc các dòng có số lớn hơn một. Cách này chạy được trên các bản Excel cũ và còn minh bạch hơn vì bạn thấy từng dòng bị đánh dấu.
Sau khi xoá trùng, làm sao biết không xoá nhầm?
Đối chiếu số dòng trước và sau với số dòng đã xoá, so tổng điểm tích luỹ hoặc tổng doanh số trước và sau, rồi tra thử khoảng mười khách quen. Luôn giữ bản gốc chưa sửa để khôi phục khi phát hiện sai.
Danh sách nằm trong phần mềm bán hàng thì có nên xuất ra Excel để xoá trùng không?
Xuất ra Excel để tìm và duyệt danh sách nghi trùng thì được, nhưng việc gộp nên làm bằng chức năng gộp khách của chính phần mềm nếu có. Xoá dòng trực tiếp có thể làm đơn hàng cũ mất liên kết với khách.