Sử dụng hàm REPLACE và SUBSTITUTE trong Excel - ví dụ về công thức

  • Chia Sẻ Cái Này
Michael Brown

Hướng dẫn giải thích các hàm REPLACE và SUBSTITUTE trong Excel với các ví dụ về cách sử dụng. Xem cách sử dụng hàm REPLACE với chuỗi văn bản, số và ngày cũng như cách lồng nhiều hàm REPLACE hoặc SUBSTITUTE trong một công thức.

Tuần trước, chúng ta đã thảo luận về nhiều cách sử dụng hàm TÌM và TÌM KIẾM trong bảng tính Excel của bạn. Hôm nay, chúng ta sẽ xem xét kỹ hơn hai chức năng khác để thay thế văn bản trong một ô dựa trên vị trí của nó hoặc thay thế một chuỗi văn bản bằng một chuỗi khác dựa trên nội dung. Như bạn có thể đoán, tôi đang nói về hàm REPLACE và SUBSTITUTE trong Excel.

    Hàm REPLACE trong Excel

    Hàm REPLACE trong Excel cho phép bạn hoán đổi một hoặc nhiều các ký tự trong một chuỗi văn bản với một ký tự khác hoặc một tập hợp các ký tự.

    REPLACE(old_text, start_num, num_chars, new_text)

    Như bạn thấy, hàm REPLACE trong Excel có 4 đối số, tất cả đều bắt buộc phải có.

    • Old_text - văn bản gốc (hoặc tham chiếu đến ô có văn bản gốc) mà bạn muốn thay thế một số ký tự trong đó.
    • Start_num - vị trí của ký tự đầu tiên trong old_text mà bạn muốn thay thế.
    • Num_chars - số ký tự bạn muốn thay thế.
    • New_text - văn bản thay thế.

    Ví dụ: để thay đổi từ " sun " thành " son ", bạn có thể sử dụng như saucông thức:

    =REPLACE("sun", 2, 1, "o")

    Và nếu bạn đặt từ gốc vào một số ô, chẳng hạn như A2, thì bạn có thể cung cấp tham chiếu ô tương ứng trong đối số old_text:

    =REPLACE(A2, 2, 1, "o")

    Lưu ý. Nếu đối số start_num hoặc num_chars là âm hoặc không phải là số, thì công thức Thay thế trong Excel sẽ trả về lỗi #VALUE! lỗi.

    Sử dụng hàm REPLACE trong Excel với các giá trị số

    Hàm REPLACE trong Excel được thiết kế để hoạt động với các chuỗi văn bản. Tất nhiên, bạn có thể sử dụng nó để thay thế các ký tự số là một phần của chuỗi văn bản, ví dụ:

    =REPLACE(A2, 7, 4, "2016")

    Lưu ý rằng chúng tôi đính kèm "2016 " trong dấu ngoặc kép như cách bạn thường làm với giá trị văn bản.

    Tương tự, bạn có thể thay thế một hoặc nhiều chữ số trong một số. Ví dụ:

    =REPLACE(A4, 4, 4,"6")

    Và một lần nữa, bạn phải đặt giá trị thay thế trong dấu ngoặc kép ("6").

    Ghi chú. Công thức REPLACE của Excel luôn trả về chuỗi văn bản , không phải số. Trong ảnh chụp màn hình ở trên, hãy lưu ý căn trái của giá trị văn bản được trả về trong B2 và so sánh nó với số ban đầu được căn phải trong A2. Và vì đó là giá trị văn bản nên bạn sẽ không thể sử dụng nó trong các phép tính khác trừ khi bạn chuyển đổi nó trở lại thành số, chẳng hạn như bằng cách nhân với 1 hoặc bằng cách sử dụng bất kỳ phương pháp nào khác được mô tả trong Cách chuyển đổi văn bản thành số.

    Sử dụng hàm REPLACE của Excel với ngày tháng

    Như bạn vừa thấy, hàm REPLACE hoạt động tốt vớisố, ngoại trừ việc nó trả về một chuỗi văn bản :) Hãy nhớ rằng trong hệ thống Excel nội bộ, ngày tháng được lưu trữ dưới dạng số, bạn có thể thử sử dụng một số công thức Thay thế ngày tháng. Kết quả sẽ khá lúng túng.

    Ví dụ: bạn có một ngày ở A2, chẳng hạn như 1-Oct-14 và bạn muốn thay đổi " Oct " thành " Nov ". Vì vậy, bạn viết công thức REPLACE(A2, 4, 3, "Nov") để yêu cầu Excel thay thế 3 ký tự trong ô A2 bắt đầu bằng ký tự thứ 4… và nhận được kết quả như sau:

    Tại sao vậy? Bởi vì "01-Oct-14" chỉ là một đại diện trực quan của số sê-ri bên dưới (41913) đại diện cho ngày tháng. Vì vậy, công thức Thay thế của chúng tôi thay đổi 3 chữ số cuối trong số sê-ri ở trên thành " Nov " và trả về chuỗi văn bản "419Nov".

    Để hàm REPLACE trong Excel hoạt động chính xác với ngày tháng, trước tiên bạn có thể chuyển đổi ngày tháng thành chuỗi văn bản bằng cách sử dụng hàm TEXT hoặc bất kỳ kỹ thuật nào khác được trình bày trong Cách chuyển đổi ngày tháng thành văn bản trong Excel. Ngoài ra, bạn có thể nhúng trực tiếp hàm TEXT vào đối số old_text của hàm REPLACE:

    =REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov")

    Hãy nhớ rằng kết quả của công thức trên là chuỗi văn bản và do đó, giải pháp này chỉ hoạt động nếu bạn không định sử dụng ngày đã sửa đổi trong các tính toán tiếp theo. Nếu bạn cần ngày tháng hơn là chuỗi văn bản, hãy sử dụng hàm DATEVALUE để biến các giá trị được trả về bởihàm REPLACE của Excel về ngày:

    =DATEVALUE(REPLACE(TEXT(A2, "dd-mmm-yy"), 4, 3, "Nov"))

    Các hàm REPLACE lồng nhau để thực hiện nhiều phép thay thế trong một ô

    Thông thường, bạn có thể cần thực hiện nhiều hơn một phép thay thế trong cùng một tế bào. Tất nhiên, bạn có thể thực hiện một lần thay thế, xuất kết quả trung gian vào một cột bổ sung, sau đó sử dụng lại hàm REPLACE. Tuy nhiên, cách tốt hơn và chuyên nghiệp hơn là sử dụng các hàm REPLACE lồng nhau cho phép bạn thực hiện nhiều phép thay thế bằng một công thức duy nhất. Trong ngữ cảnh này, "lồng" có nghĩa là đặt một chức năng trong một chức năng khác.

    Hãy xem xét ví dụ sau. Giả sử bạn có một danh sách các số điện thoại trong cột A được định dạng là "123456789" và bạn muốn làm cho chúng trông giống số điện thoại hơn bằng cách thêm dấu gạch ngang. Nói cách khác, mục tiêu của bạn là biến "123456789" thành "123-456-789".

    Việc chèn dấu gạch ngang đầu tiên thật dễ dàng. Bạn viết một công thức Thay thế Excel thông thường để thay thế không ký tự nào bằng dấu gạch nối, tức là thêm dấu gạch nối ở vị trí thứ 4 trong một ô:

    =REPLACE(A2,4,0,"-")

    Kết quả của ở trên Công thức thay thế như sau:

    Được rồi, và bây giờ chúng ta cần chèn thêm một dấu gạch ngang ở vị trí thứ 8. Để thực hiện việc này, bạn đặt công thức trên trong một hàm REPLACE khác của Excel. Chính xác hơn, bạn nhúng nó vào đối số old_text của hàm khác, để hàm REPLACE thứ hai sẽ xử lý giá trị được trả về bởi hàmđầu tiên THAY THẾ chứ không phải giá trị trong ô A2:

    =REPLACE(REPLACE(A2,4,0,"-"),8,0,"-")

    Kết quả là bạn nhận được các số điện thoại ở định dạng mong muốn:

    Theo cách tương tự, bạn có thể sử dụng các hàm REPLACE lồng nhau để làm cho chuỗi văn bản trông giống như ngày tháng bằng cách thêm dấu gạch chéo lên (/) khi thích hợp:

    =(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    Hơn nữa, bạn có thể chuyển đổi chuỗi văn bản thành ngày tháng thực bằng cách gói công thức REPLACE ở trên với hàm DATEVALUE:

    =DATEVALUE(REPLACE(REPLACE(A2,3,0,"/"),6,0,"/"))

    Và đương nhiên, bạn không bị giới hạn về số lượng hàm bạn có thể lồng trong một công thức (các phiên bản hiện đại của Excel 2010, 2013 và 2016 cho phép tối đa 8192 ký tự và tối đa 64 hàm lồng nhau trong một công thức).

    Ví dụ: bạn có thể sử dụng 3 hàm REPLACE lồng nhau để có một số trong A2 xuất hiện như ngày và giờ:

    =REPLACE(REPLACE(REPLACE(REPLACE(A2,3,0,"/") ,6,0,"/"), 9,0, " "), 12,0, ":")

    Thay thế một chuỗi xuất hiện ở một vị trí khác trong mỗi ô

    Cho đến nay, trong tất cả các ví dụ, chúng tôi đã xử lý các giá trị có bản chất tương tự và đã thực hiện thay thế trong cùng một vị trí bật trong mỗi ô. Nhưng các nhiệm vụ thực tế thường phức tạp hơn thế. Trong trang tính của bạn, các ký tự cần thay thế có thể không nhất thiết phải xuất hiện ở cùng một vị trí trong mỗi ô và do đó, bạn sẽ phải tìm vị trí của ký tự đầu tiên cần thay thế. Ví dụ sau sẽ minh họa điều tôi đang nói.

    Giả sử bạn có một danh sách emailđịa chỉ trong cột A. Và tên của một công ty đã thay đổi từ "ABC" thành "BCA". Vì vậy, bạn phải cập nhật tất cả địa chỉ email của khách hàng cho phù hợp.

    Nhưng vấn đề là tên khách hàng có độ dài khác nhau và đó là lý do tại sao bạn không thể chỉ định chính xác tên công ty bắt đầu từ đâu. Nói cách khác, bạn không biết nên cung cấp giá trị nào trong đối số start_num của hàm REPLACE trong Excel. Để tìm hiểu, hãy sử dụng hàm FIND của Excel để xác định vị trí của ký tự đầu tiên trong chuỗi "@abc":

    =FIND("@abc",A2)

    Và sau đó, cung cấp hàm FIND ở trên trong start_num đối số của công thức REPLACE của bạn:

    =REPLACE(A2, FIND("@abc",A2), 4, "@bca")

    Mẹo. Chúng tôi bao gồm "@" trong công thức Tìm và Thay thế Excel của mình để tránh thay thế ngẫu nhiên trong phần tên của địa chỉ email. Tất nhiên, khả năng trùng khớp như vậy sẽ rất thấp và bạn vẫn có thể muốn ở bên an toàn.

    Như bạn thấy trong ảnh chụp màn hình sau, công thức không có vấn đề gì với việc tìm và thay thế văn bản cũ với văn bản mới. Tuy nhiên, nếu không tìm thấy chuỗi văn bản cần thay thế, công thức sẽ trả về lỗi #VALUE! lỗi:

    Và chúng tôi muốn công thức trả về địa chỉ email ban đầu thay vì lỗi. Vì vậy, hãy đính kèm TÌM & Công thức REPLACE trong hàm IFERROR:

    =IFERROR(REPLACE(A2, FIND("@abc",A2), 4, "@bca"),A2)

    Và công thức cải tiến này hoạt động hoàn hảo phải không?

    Một cách thực tế khácứng dụng của hàm REPLACE là viết hoa chữ cái đầu tiên trong một ô. Bất cứ khi nào bạn xử lý danh sách tên, sản phẩm và những thứ tương tự, bạn có thể sử dụng công thức được liên kết ở trên để thay đổi chữ cái đầu tiên thành CHỮ HOA.

    Mẹo. Nếu bạn muốn thực hiện thay thế trong dữ liệu gốc, một cách dễ dàng hơn là sử dụng hộp thoại TÌM và THAY THẾ trong Excel.

    Hàm SUBSTITUTE trong Excel

    Hàm SUBSTITUTE trong Excel thay thế một hoặc nhiều phiên bản của một ký tự hoặc chuỗi văn bản đã cho với (các) ký tự được chỉ định.

    Cú pháp của hàm SUBSTITUTE trong Excel như sau:

    SUBSTITUTE(text, old_text, new_text, [instance_num])

    Ba đối số đầu tiên là bắt buộc và đối số cuối cùng là tùy chọn.

    • Văn bản - văn bản gốc mà bạn muốn thay thế các ký tự trong đó. Có thể được cung cấp dưới dạng chuỗi kiểm tra, tham chiếu ô hoặc kết quả của một công thức khác.
    • Old_text - (các) ký tự bạn muốn thay thế.
    • New_text - (các) ký tự mới để thay thế old_text bằng.
    • Instance_num - sự xuất hiện của old_text mà bạn muốn thay thế. Nếu bỏ qua, mọi lần xuất hiện của văn bản cũ sẽ được thay đổi thành văn bản mới.

    Ví dụ: tất cả các công thức bên dưới thay thế "1" bằng "2" trong ô A2 nhưng trả về các kết quả khác nhau tùy thuộc vào số bạn cung cấp trong đối số cuối cùng:

    =SUBSTITUTE(A2, "1", "2", 1) - Thay thế lần xuất hiện đầu tiên của "1" bằng"2".

    =SUBSTITUTE(A2, "1", "2", 2) - Thay thế lần xuất hiện thứ hai của "1" bằng "2".

    =SUBSTITUTE(A2, "1", "2") - Thay thế tất cả các lần xuất hiện của "1" bằng "2".

    Trong thực tế, hàm SUBSTITUTE cũng được sử dụng để xóa các ký tự không mong muốn khỏi ô. Để biết ví dụ thực tế, vui lòng xem:

    • Cách xóa ký tự hoặc từ khỏi chuỗi
    • Cách xóa ký tự không mong muốn khỏi ô

    Lưu ý. Hàm SUBSTITUTE trong Excel phân biệt chữ hoa chữ thường . Ví dụ: công thức sau thay thế tất cả các trường hợp của chữ hoa "X" bằng "Y" trong ô A2, nhưng nó sẽ không thay thế bất kỳ trường hợp nào của chữ thường "x".

    Thay thế nhiều giá trị bằng một công thức (SUBSTITUTE lồng nhau)

    Như trường hợp của hàm REPLACE trong Excel, bạn có thể lồng nhiều hàm SUBSTITUTE trong một công thức để thực hiện nhiều thay thế cùng lúc, tức là thay thế một số ký tự hoặc chuỗi con với một công thức duy nhất.

    Giả sử bạn có một chuỗi văn bản như " PR1, ML1, T1 " trong ô A2, trong đó "PR" là viết tắt của "Project," ML " là viết tắt của "Milestone" và "T" có nghĩa là "Nhiệm vụ". Điều bạn muốn là thay thế ba mã bằng tên đầy đủ. Để đạt được điều này, bạn có thể viết 3 công thức THAY THẾ khác nhau:

    =SUBSTITUTE(A2,"PR", "Project ")

    =SUBSTITUTE(A2, "ML", "Milestone ")

    =SUBSTITUTE(A2, "T", "Task ")

    Và sau đó lồng chúng vào nhau:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"PR","Project "),"ML","Milestone "),"T","Task ")

    Lưu ý rằng chúng tôi đã thêm một khoảng trắng ở cuối mỗi đối số new_text để tốt hơndễ đọc.

    Để tìm hiểu các cách khác để thay thế nhiều giá trị cùng một lúc, vui lòng xem Cách thực hiện tìm và thay thế hàng loạt trong Excel.

    Excel thay thế so với .Hàm SUBSTITUTE

    Hàm REPLACE và SUBSTITUTE trong Excel rất giống nhau ở chỗ cả hai đều được thiết kế để hoán đổi chuỗi văn bản. Sự khác biệt giữa hai hàm như sau:

    • SUBSTITUTE thay thế một hoặc nhiều trường hợp của một ký tự hoặc chuỗi văn bản đã cho. Vì vậy, nếu bạn biết văn bản sẽ được thay thế, hãy sử dụng hàm SUBSTITUTE của Excel.
    • REPLACE thay đổi các ký tự trong vị trí đã chỉ định của chuỗi văn bản. Vì vậy, nếu bạn biết vị trí của (các) ký tự sẽ được thay thế, hãy sử dụng hàm REPLACE của Excel.
    • Hàm SUBSTITUTE trong Excel cho phép thêm một tham số tùy chọn (instance_num) chỉ định lần xuất hiện nào của old_text nên được đổi thành new_text.

    Đây là cách bạn sử dụng hàm SUBSTITUTE và REPLACE trong Excel. Hy vọng rằng, những ví dụ này sẽ hữu ích trong việc giải quyết các nhiệm vụ của bạn. Tôi cảm ơn bạn đã đọc và hy vọng sẽ thấy trên blog của chúng tôi vào tuần tới!

    Tải xuống sách bài tập thực hành

    Các ví dụ về công thức REPLACE và SUBSTITUTE (tệp .xlsx)

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.