REPLACE: thay thế văn bản theo vị trí, không cần biết nội dung cũ là gì
Chia sẻ
"REPLACE thay một đoạn văn bản dựa trên vị trí ký tự, khác hẳn SUBSTITUTE vốn thay theo nội dung khớp. Dùng phổ biến nhất để che một phần số điện thoại hoặc CCCD mà không cần biết trước các số đó là gì."
Excel có hai hàm cùng tên gọi là "thay thế" nhưng hoạt động khác hẳn nhau: SUBSTITUTE thay theo nội dung khớp (đã có bài riêng trong Làm sạch dữ liệu), còn REPLACE thay theo vị trí ký tự, không quan tâm ký tự ở đó là gì.
Công thức trong bài dùng dấu phẩy (,); đổi sang dấu chấm phẩy (;) nếu Excel của bạn cấu hình theo vùng miền khác.
Cú pháp
=REPLACE(chuoi_cu, vi_tri_bat_dau, so_ky_tu, chuoi_moi)
vi_tri_bat_dau và so_ky_tu xác định đoạn cần cắt bỏ; chuoi_moi là đoạn thay vào chỗ đó — không nhất thiết phải cùng độ dài với đoạn bị cắt.
Ứng dụng phổ biến nhất: che một phần số điện thoại
=REPLACE(A2,4,4,"****")
Với số điện thoại 0912345678, công thức cắt bỏ 4 ký tự bắt đầu từ vị trí thứ 4 (tức 2345) và thay bằng ****, cho ra 091****678. Không cần biết trước các chữ số đó cụ thể là gì — chỉ cần biết đúng vị trí cần che, phù hợp khi hiển thị danh sách khách hàng cho nhân viên mà không để lộ toàn bộ số liên hệ.
So sánh với SUBSTITUTE: biết vị trí hay biết nội dung

Biết rõ nội dung cần thay (ví dụ đổi mọi chữ
"Cty"thành"Công ty") nhưng không biết nó nằm ở đâu trong chuỗi → dùngSUBSTITUTE.Biết rõ vị trí cần thay (ví dụ luôn là 4 ký tự tính từ vị trí thứ 4) nhưng không cần quan tâm nội dung cũ là gì → dùng
REPLACE.
Ứng dụng: sửa hàng loạt mã sản phẩm theo đúng vị trí cố định
Một hệ thống mã hàng cũ luôn có 2 ký tự đầu là mã kho, cần đổi hàng loạt từ "HN" sang "HP" sau khi chuyển kho, nhưng phần còn lại của mã (khác nhau ở từng dòng) phải giữ nguyên:
=REPLACE(A2,1,2,"HP")
Vì REPLACE không quan tâm nội dung cũ tại vị trí đó là "HN" hay bất kỳ hai ký tự nào khác, công thức vẫn chạy đúng dù không lọc trước xem dòng nào thực sự bắt đầu bằng "HN" — miễn cấu trúc mã đều đặt mã kho ở đúng 2 ký tự đầu.
Lỗi thường gặp: độ dài chuỗi không đồng nhất
REPLACE đếm vị trí theo ký tự cố định, nên nếu dữ liệu không có độ dài đồng nhất — ví dụ số điện thoại bàn xen lẫn số di động, hoặc mã hàng cũ lẫn mã hàng mới có số ký tự khác nhau — cùng một công thức REPLACE(A2,4,4,"****") có thể che sai chỗ ở những dòng có độ dài khác:

Với chuỗi ngắn hơn dự kiến, vị trí 4 có thể đã rơi vào phần khác của dữ liệu thay vì đúng đoạn cần che. Luôn kiểm tra độ dài dữ liệu (LEN) có đồng nhất trước khi áp REPLACE hàng loạt theo một vị trí cố định.
Tổng kết
REPLACE thay một đoạn văn bản dựa theo vị trí ký tự, không cần biết nội dung cũ — khác với SUBSTITUTE thay theo nội dung khớp mà không cần biết vị trí. Ứng dụng phổ biến nhất là che một phần thông tin nhạy cảm như số điện thoại, nhưng cần dữ liệu có độ dài đồng nhất để tránh che sai chỗ.
Đọc tiếp trong cùng cụm bài: SIGN — biết ngay một số dương, âm hay bằng 0 mà không cần so sánh tay.
Mục lục
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
ARABIC: chiều ngược lại, đọc một chuỗi La Mã thành số thường
ARABIC đọc một chuỗi chữ số La Mã và trả về đúng số thường tương ứng — chiều ngược lại của ROMAN. Hỗ trợ cả dấu trừ phía trước cho số âm, nhưng ký tự không hợp lệ sẽ báo lỗi ngay.
ROMAN: chuyển một số thành chữ số La Mã, và giới hạn 3.999 ít người để ý
ROMAN chuyển một số thành chuỗi chữ số La Mã — dùng để đánh số chương sách, số thứ tự sự kiện thường niên. Chỉ nhận số nguyên từ 1 đến 3.999, vượt quá là báo lỗi vì hệ số La Mã cổ điển không có ký hiệu chuẩn cho số lớn hơn.
NUMBERVALUE: chuyển văn bản số thành số thật, bất kể định dạng vùng miền nào
NUMBERVALUE chuyển một chuỗi số dạng văn bản thành số thật, cho phép tự khai rõ ký tự nào là dấu thập phân và ký tự nào là dấu phân cách hàng nghìn — giải quyết đúng vấn đề dữ liệu xuất từ hệ thống khác lệch định dạng vùng miền với máy đang mở file.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.