Hàm Replace trong Excel

Thứ sáu - 11/10/2013 23:00
Ngoài chức năng Find and Replace Trong Excel (Dùng phím Ctrl + F), thì Excel cũng hỗ trợ một hàm Tìm kiếm và Thay thế đó là Hàm Replace và Hàm ReplaceB
Ngoài chức năng Find and Replace Trong Excel (Dùng phím Ctrl + F), thì Excel cũng hỗ trợ một hàm Tìm kiếm và Thay thế đó là Hàm Replace và Hàm ReplaceB

Cú pháp:

REPLACE(old_text,start_num,num_c-hars,new_text)

REPLACEB(old_text,start_num,num_bytes,new_text)

Old_text : Là chuỗi văn bản hay ký tự bạn muốn thay thế

Start_num : Vị trí cần thay thế trong chuỗi văn bản cũ

Num_c-hars : Là số lượng ký tự trong chuỗi văn bản cũ (old_text) bạn muốn thay thế bằng chuỗi văn bản mới.

Num_bytes : Là số lượng Bytes trong chuỗi văn bản cũ (old_text) mà bạn muốn thay thế thành bằng chuỗi văn bản mới. Num_bytes được 

New_text : Là chuỗi văn bản, ký tự mới  bạn muốn thay thế vào văn bản cũ.

Hai hàm này chỉ khác biệt ở đối số: Num_c-hars và Num_Bytes
- Num_c-hars: Tính bằng ký tự, Chỉ dùng cho Hàm Replace.
- Num_Bytes: Tính bằng số bytes của mỗi ký tự, Chỉ dùng cho Hàm ReplaceB

Xét ví dụ sau:
Tôi có chuỗi văn bản: I like math
Bây giờ tôi muốn nói là I dislike math thì phải thêm chữ dis vào trước chữ Like.

Ta thấy trước chữ Like có 1 khoảng trắng, thì ta thêm chữ "dis" vào khoảng trắng ở vị trí thứ 2 sau chữ I và trước chữ Like

= REPLACE("I like math";2;1;"disl") = Idislike math

Tại sao lại chữ I và chữ dislike lại dính vào nhau? là tại vì bạn thay thế khoảng trắng (ký tự thứ 2 trong chuỗi) nên mới có kết quả như thế,
do đó muốn có thêm một khoảng trắng giữa chữ I và chữ Dislike cho công thức bên trên thì New_text phải kèm theo một khoảng trắng nhé

= REPLACE("I like math";2;1;" dis") = I dislike math

Đó là cách thứ nhất, ta có thể thay thế chữ L trong chứ Like bằng "dis" hoặc "disl" thì lúc này ta không cần chèn thêm khoảng trắng nữa, lúc này ta chỉ cần chỉ định Start_Num = 3 (là vị trí của chữ L)

Ta có công thức sau:
= Replace("I like math",3,0,"dis") = I dislike math
= Replace("I like math",3,1,"disl") = I dislike math

Bây giờ chúng ta đã hiễu nguyên lý của nó rồi nhỉ?

Hàm ReplaceB chỉ khác với Hàm Replace ở chỗ Num_bytes, Khi máy tính của bạn mặc định ngôn ngữ kiểu Double_byte_c-haracter sets thì khi đếm Start_num, cần phải chú ý, mỗi ký chữ =1 ký tự trong Single_bytes c-haracter set là 2 bytes, khi đó số Start_num và Num_c-hars phải gấp đôi so với hàm Replace.

=ReplaceB("北京学校",3,2,"海")= 北海学校
=Replace("北京学校",2,1,"海")= 北海学校

Giải thích: 

Khi máy tính hỗ trợ DBCS thì hàm RelaceB tính từ chữ 北 đến chữ 京 là 3 bytes do đó Start_Num=3 và thay một chữ 京 cần 2 bytes nên số num_bytes phải là 2

Còn hàm Replace xem ngôn ngữ DBCS là ký tự nên từ chữ 北 đến chữ 京 là 2 c-haracters do đó Start_Num=2 và thay một chữ 京 là 1 ký tự nên số num_c-hars phải là 1

Để hai hàm này hoạt động linh hoạt thì ta dùng kết quả của  Hàm Search hoặc Hàm Find làm đối số, Start_num cho Hàm Replace và kết quả của Hàm SearchB hoặc Hàm FindB làm đối số cho hàm ReplaceB.

Ví dụ: = REPLACE("I like math",search("L","I like math",3),1," disl") = I dislike math

Chúc bạn sớm thành thạo với những ký năng này

Tác giả bài viết: Minh Phú

Chú ý: Việc đăng lại bài viết trên ở website hoặc các phương tiện truyền thông khác mà không ghi rõ nguồn http://aneedz.com là vi phạm bản quyền

Tổng số điểm của bài viết là: 10 trong 2 đánh giá

Xếp hạng: 5 - 2 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Mã bảo mật   
Thống kê
  • Đang truy cập22
  • Hôm nay6,773
  • Tháng hiện tại64,759
  • Tổng lượt truy cập1,585,611
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