Dùng thử miễn phí

Lọc trùng và chuẩn hoá số điện thoại trong Excel: 7 thao tác cho danh sách khách hàng

Cập nhật 24/10/2026 · 8 phút đọc

Gộp vài file khách hàng lại với nhau, bạn sẽ gặp đủ kiểu số điện thoại: chỗ ghi +84, chỗ có dấu chấm, chỗ mất số 0 ở đầu, chỗ vẫn là đầu số 11 số từ trước năm 2018. Khi số chưa cùng một dạng, lọc trùng trong Excel sẽ sót, và sale có thể gọi một cửa hàng hai lần. Bài này hướng dẫn 7 thao tác để đưa danh sách về sạch, kèm công thức chép dùng được ngay trên Excel và Google Sheet.

Vì sao danh sách số điện thoại hay bị trùng và lộn xộn?

Danh sách tự thu thập thường gộp từ nhiều nguồn: file quét theo từng phường, form đăng ký, ghi chép của từng sale. Mỗi nguồn ghi số một kiểu:

Vì vậy hãy chuẩn hoá trước, lọc trùng sau. Các công thức bên dưới dùng bố cục trang tính sau:

CộtNội dung
A, B, CTên, Địa chỉ, SĐT gốc (không sửa tay)
D, ESĐT chỉ còn chữ số, SĐT đầu 0
FSĐT chuẩn, dùng để lọc trùng và gọi
G, H, ILoại số, Lần xuất hiện, Trạng thái so với danh sách cũ

Lưu ý: máy dùng định dạng vùng Việt Nam có thể cần dấu chấm phẩy (;) thay dấu phẩy (,) giữa các đối số trong công thức.

Thao tác 1: giữ số 0 ở đầu khi mở file CSV

Đừng bấm đúp để mở file CSV. Trong Excel, vào Data > From Text/CSV, chọn file, ở File Origin chọn 65001: Unicode (UTF-8), ở Data Type Detection chọn Do not detect data types, rồi bấm Load. Số 0 được giữ nguyên.

Thao tác 2–3: đưa mọi số về một dạng, đổi +84/84 về 0

Thao tác 2, bỏ ký tự thừa. Ô D2 (Excel và Google Sheet) bỏ dấu cách, dấu cách không ngắt hay gặp khi chép từ web (CHAR(160)), dấu chấm, gạch ngang, ngoặc và dấu cộng:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C2&""," ",""),CHAR(160),""),".",""),"-",""),"(",""),")",""),"+","")

Trên Google Sheet có cách ngắn hơn, bỏ mọi ký tự không phải chữ số: =REGEXREPLACE(C2&"","[^0-9]","")

Thao tác 3, đưa về đầu 0. Ô E2 xử lý ba trường hợp: số tổng đài 1800/1900 giữ nguyên, số có mã quốc gia 84 (từ 11 chữ số trở lên) đổi thành 0, số bị mất số 0 thì thêm lại:

=IF(D2="","",IF(OR(LEFT(D2,4)="1800",LEFT(D2,4)="1900"),D2,IF(AND(LEFT(D2,2)="84",LEN(D2)>=11),"0"&MID(D2,3,20),IF(LEFT(D2,1)="0",D2,"0"&D2))))

Điều kiện độ dài là cần thiết: số di động đầu 084 bị mất số 0 chỉ còn 9 chữ số, không được nhầm với mã quốc gia 84.

Thao tác 4: đổi đầu số 11 số cũ sang 10 số

Tạo một trang tính tên DauSo, định dạng cột A và B là Text trước khi gõ, rồi nhập bảng chuyển đổi do các nhà mạng áp dụng từ ngày 15/9/2018 (theo công bố của Bộ Thông tin và Truyền thông):

Nhà mạngĐầu số cũ (11 số)Đầu số mới (10 số)
Viettel0162, 0163, 0164, 0165, 0166, 0167, 0168, 0169032, 033, 034, 035, 036, 037, 038, 039
MobiFone0120, 0121, 0122, 0126, 0128070, 079, 077, 076, 078
VinaPhone0123, 0124, 0125, 0127, 0129083, 084, 085, 081, 082
Vietnamobile0186, 0188056, 058
Gmobile (Gtel)0199059

Trên trang DauSo, mỗi cặp một dòng (cột A cũ, cột B mới, dòng 2 đến 22). Ô F2 chỉ đổi số 11 chữ số bắt đầu bằng 01; số bàn 024…, 028… giữ nguyên:

=IF(AND(LEN(E2)=11,LEFT(E2,2)="01"),IFERROR(VLOOKUP(LEFT(E2,4),DauSo!$A$2:$B$22,2,FALSE)&MID(E2,5,20),E2),E2)

Excel 365 có thể dùng XLOOKUP thay VLOOKUP. Ví dụ kết quả ở cột F:

Số gốcKết quả cột FĐã xử lý gì
+84 912 345 6780912345678Bỏ dấu cách, +84 thành 0
9123456780912345678Thêm lại số 0 Excel đã bỏ
01662 345 6780362345678Đầu số cũ 0166 thành 036
(024) 3823 456702438234567Số bàn, giữ 11 chữ số
1800 123418001234Tổng đài, không thêm số 0

Thao tác 5: tách số di động, số bàn và tổng đài

Cột G là cột "loại số điện thoại" mà bài thu thập data Google Maps có hợp pháp không khuyên nên quản lý, vì số tổng đài doanh nghiệp và số di động của chủ hộ kinh doanh cần mức thận trọng khác nhau:

=IF(F2="","",IF(OR(LEFT(F2,4)="1800",LEFT(F2,4)="1900"),"Tổng đài",IF(LEFT(F2,2)="02","Số bàn",IF(AND(LEN(F2)=10,OR(LEFT(F2,2)="03",LEFT(F2,2)="05",LEFT(F2,2)="07",LEFT(F2,2)="08",LEFT(F2,2)="09")),"Di động","Cần kiểm tra"))))

Dòng "Cần kiểm tra" thường là số thiếu chữ số hoặc hai số dính trong một ô; hãy xem lại bằng mắt.

File kết quả mở bằng Excel: cột Tên, SĐT ở dạng đầu 0, Địa chỉ, Đánh giá, Loại hình, toạ độ
File kết quả mở bằng Excel, cột SĐT ở dạng đầu 0. Số điện thoại trong ảnh đã được che bớt.

Thao tác 6: lọc trùng số điện thoại

Sao chép trang tính để dự phòng, rồi chọn một trong ba cách:

  1. Đánh dấu, chưa xoá. Ô H2: =IF(F2="","",COUNTIF($F$2:F2,F2)). Từ 2 trở lên là bản trùng; lọc ra xem trước rồi mới xoá.
  2. Xoá luôn. Chọn cả bảng, vào Data > Remove Duplicates (Dữ liệu > Loại bỏ Trùng lặp), chỉ tích cột F. Excel giữ dòng trên cùng, nên sắp xếp trước theo cột muốn ưu tiên.
  3. Lấy danh sách số duy nhất. Excel 365 và Google Sheet: =UNIQUE(F2:F1000). Trên Google Sheet còn có Dữ liệu > Dọn dẹp dữ liệu > Xóa bản sao.

Một số dùng cho nhiều chi nhánh là các điểm bán thật chung một đầu mối. Giữ một dòng để gọi, gom các địa chỉ vào cột ghi chú (Excel 365, Google Sheet): =TEXTJOIN(" | ",TRUE,FILTER($B$2:$B$1000,$F$2:$F$1000=F2)).

Thao tác 7: gộp danh sách mới mà không gọi lại người đã từ chối

Mỗi lần thêm danh sách mới, hãy so với danh sách đã liên hệ, nhất là những nơi đã nói "đừng gọi nữa". Giả sử trang DaLienHe có cột A là SĐT chuẩn 10 số và cột B là trạng thái (Đã gọi, Hẹn lại, Từ chối). Ô I2 ở danh sách mới:

=IF(COUNTIFS(DaLienHe!$A:$A,F2,DaLienHe!$B:$B,"Từ chối")>0,"KHÔNG GỌI",IF(COUNTIF(DaLienHe!$A:$A,F2)>0,"Đã có","Mới"))

Bỏ các dòng "KHÔNG GỌI", trả dòng "Đã có" về sale đang phụ trách, chỉ chia dòng "Mới". Luật Bảo vệ dữ liệu cá nhân số 91/2025/QH15 cho người nhận quyền phản đối, Nghị định 91/2020/NĐ-CP có quy định về việc từ chối nhận quảng cáo; nên giữ thêm cột trạng thái đồng ý và lịch sử tương tác như bài pháp lý gợi ý.

Nói gì khi gọi và ghi kết quả vào cột nào: xem kịch bản gọi điện chào hàng cửa hàng, đại lý.

Để phần mềm làm sẵn khi lấy danh sách từ Google Maps

Nếu danh sách đến từ Google Maps, nhiều bước trên được làm ngay lúc quét. Phần mềm quét data Google Maps DataMap đưa số về đầu 0 (số +84 thành 0, tổng đài 1800/1900 giữ nguyên), bỏ dòng trùng theo mã địa điểm và theo tên cùng địa chỉ, nên quét nhiều từ khóa trong một phường thì mỗi cửa hàng vẫn một dòng. Xem bài quét SĐT Google Map hàng loạt.

Gom chi nhánh chung số và so với danh sách đã gọi vẫn là việc của bạn. Xem trước bố cục cột trong file kết quả mẫu (số đã che bớt, tự gõ vài số để thử công thức) hoặc ở bài cách lấy dữ liệu từ Google Map.

Hàng tuỳ chọn của DataMap: chỉ lấy nơi có SĐT, bỏ số cố định và 1800/1900, chỉ giữ đúng xã/phường
Bật hoặc tắt bộ lọc số điện thoại bằng một cú tích ngay trên màn hình chính.
File BỊ LOẠI mở bằng Excel: tên, địa chỉ cửa hàng, khu vực tìm và cột ghi chú lý do
File BỊ LOẠI: mỗi dòng có lý do để bạn tự kiểm tra lại.

Dùng thử đủ tính năng 1 ngày, tối đa 200 số điện thoại. Dùng tiếp: xem bảng giá: 789.000đ cho 1 tháng hoặc 1.999.000đ cho 12 tháng.

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

Vì sao mở file CSV bằng Excel thì số điện thoại mất số 0 ở đầu?

Bấm đúp mở CSV, Excel coi chuỗi toàn chữ số là số nên bỏ số 0. Hãy mở bằng Data > From Text/CSV, chọn Do not detect data types; số 0 đã mất thì dùng công thức ở thao tác 3.

Lọc trùng số điện thoại trên Google Sheet thế nào?

Chuẩn hoá số bằng REGEXREPLACE và công thức đưa về đầu 0, rồi dùng Dữ liệu > Dọn dẹp dữ liệu > Xóa bản sao trên cột SĐT chuẩn, hoặc hàm UNIQUE nếu muốn giữ dữ liệu gốc.

Hai cửa hàng khác tên nhưng trùng số điện thoại thì xử lý sao?

Thường là chuỗi hoặc chi nhánh dùng chung số. Giữ một dòng để gọi, gom các địa chỉ còn lại vào cột ghi chú bằng TEXTJOIN và FILTER.

Số 11 số đầu 01x còn gọi được không?

Không nên dùng nữa: các số này đã chuyển sang 10 số từ 15/9/2018 và thời gian quay số song song đã kết thúc. Hãy đổi theo bảng ở thao tác 4 trước khi gọi.

Bài liên quan