Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Có ba cách để tìm và xóa các bản sao trong một ô trong Excel. Chỉ cần chọn một trong đó làm việc tốt nhất cho bạn.

Khi nó liên quan đến việc loại bỏ các giá trị hoặc hàng trùng lặp, Microsoft Excel cung cấp một loạt các tùy chọn khác nhau. Nhưng khi nói đến việc loại bỏ văn bản giống hệt nhau trong một ô nhất định, Excel cung cấp không có gì. Không có công cụ, không có tính năng, không công thức, không có gì. Nó sẽ ngăn chúng ta đạt được mục tiêu của mình? Trong không có trường hợp. Nếu excel không có chức năng chúng ta cần, chúng ta hãy tự viết một cái :)

Cách xóa các từ lặp lại trong ô Excel

Vấn đề: Bạn có cùng một từ hoặc chuỗi văn bản trong một ô và muốn xóa phần thứ hai và tất cả các lần lặp lại tiếp theo.

Giải pháp: Chức năng do người dùng định nghĩa hoặc macro VBA tùy chỉnh.

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Chức năng do người dùng xác định để loại bỏ các bản sao trong một ô

Để loại bỏ văn bản trùng lặp trong một ô, bạn có thể sử dụng hàm do người dùng (UDF) sau đây, được đặt tên là RemoveDupewords:

Hàm RemoveDupewords (asstring văn bản, phân định tùy chọn asstring = "") Nếu một phần "" và từ điển RemoveDupeWords(text As String, Optional delimiter As String = " ") As String Dim dictionary As Object Dim x, part Set dictionary = CreateObject("Scripting.Dictionary") dictionary.CompareMode = vbTextCompare For Each x In Split(text, delimiter) part = Trim(x) If part <> "" And Not dictionary.Exists(part) Then dictionary.Add part, Nothing End If Next If dictionary.Count > 0 Then RemoveDupeWords = Join(dictionary.keys, delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End Function

Cách chèn mã của chức năng vào sổ làm việc của bạn

Để thêm mã trên vào Excel của bạn, đây là những gì bạn cần làm:

  1. Nhấn Alt + F11 để mở Trình chỉnh sửa Visual Basic.Alt + F11 to open the Visual Basic Editor.
  2. Ở khung bên trái, nhấp chuột phải vào Workworkbook và chọn Chèn> Mô-đun.
  3. Dán mã trên trong cửa sổ mã.

Để biết thêm thông tin, vui lòng xem cách chèn mã VBA vào Excel.

RemoveDupewords Chức năng Cú pháp

Chức năng mới được tạo của chúng tôi để loại bỏ văn bản trùng lặp trong một ô có cú pháp sau:

RemoveDupewords (văn bản, [DELIMITER])

Where:

  • Văn bản (bắt buộc) - Một chuỗi hoặc ô mà bạn muốn xóa văn bản lặp lại. (required) - a string or cell from which you want to delete repeated text.
  • DELIMITER (Tùy chọn) - Phân đoạn mà văn bản lặp lại được phân tách bằng. Nếu bị bỏ qua, một không gian được sử dụng cho dấu phân cách. (optional) - the delimiter that the repeated text is separated by. If omitted, a space is used for the delimiter.

Hàm không nhạy cảm với trường hợp, có nghĩa là các chữ cái chữ thường và chữ hoa được coi là cùng một ký tự.not case-sensitive, meaning that lowercase and uppercase letters are treated as the same characters.

Cách sử dụng chức năng RemoveDupewords

Khi mã của chức năng được thêm vào sổ làm việc của bạn, bạn có thể sử dụng nó trong các công thức của mình giống như cách bạn sử dụng các chức năng tích hợp của Excel.

Chỉ cần bắt đầu gõ tên của hàm sau dấu hiệu bằng nhau và nó sẽ xuất hiện trong công thức IntelliSense. Nhấp đúp vào chức năng và bạn sẽ được chèn vào một ô. Xác định các đối số, nhập dấu ngoặc đơn, nhấn ENTER và công thức của bạn được hoàn thành.Enter, and your formula is completed.

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Ví dụ, để xóa các từ trùng lặp được phân tách bằng dấu phẩy và một khoảng trống từ A2, hãy nhập công thức bên dưới trong B2, sau đó kéo nó xuống qua nhiều ô khi cần:

=RemoveDupeWords(A2, ", ")

Kết quả là, bạn sẽ có một danh sách các từ hoặc chất nền độc đáo được phân tách bằng dấu phẩy và không gian:comma and space:

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Nếu bạn muốn nhận danh sách phân tách bằng dấu phẩy, thì chỉ sử dụng dấu phẩy cho dấu phân cách:only a comma for the delimiter:

=RemoveDupeWords(A2, ",")

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Nếu dữ liệu nguồn của bạn được phân tách bằng một không gian, đối số thứ hai sẽ là "" hoặc bỏ qua:space, the second argument should be " " or omitted:

=RemoveDupeWords(A2)

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Giống như bất kỳ chức năng Excel nào khác, UDF của chúng tôi sẽ tự động tính toán lại khi dữ liệu nguồn thay đổi, do đó kết quả của bạn sẽ luôn được cập nhật.

Macro VBA để xóa văn bản trùng lặp khỏi nhiều ô cùng một lúc

Nếu bạn đang tìm cách xóa văn bản lặp đi lặp lại khỏi nhiều ô trong một lần, thì bạn có thể gọi chức năng RemoveDupewords từ bên trong một macro. Trong trường hợp này, dấu phân cách được mã hóa cứng và bạn sẽ phải cập nhật mã macro mỗi khi dấu phân cách thay đổi. Ngoài ra, bạn có thể viết một vài biến thể mã cho các dấu phân cách phổ biến nhất, giả sử, một không gian, dấu phẩy hoặc dấu phẩy và không gian, và đặt tên có ý nghĩa macro của bạn, ví dụ: RemoveDupesDelimspace.

Mã của macro như sau:

Publicsub removeDupewords2 () dimer tế bào dưới dạng tế bào foreach trong application.selection cell.value = removeDupewords (cell.value, ",") nextendsub Sub RemoveDupeWords2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", ") Next End Sub

Trong mã trên, dấu phân cách là dấu phẩy và không gian. Để sử dụng một dấu phân cách khác, hãy thay thế "," bằng (các) ký tự khác trong dòng mã này:comma and space. To use a different delimiter, replace ", " with another character(s) in this code line:

cell.Value = RemoveDupeWords(cell.Value, ", ")

Ghi chú. Để macro hoạt động, mã của nó và mã của RemoveDupewords phải được đặt vào cùng một mô -đun. For the macro to work, its code and the RemoveDupeWords function's code must be placed onto the same module.

Cách sử dụng macro

Chèn mã của macro vào sổ làm việc của riêng bạn hoặc mở sổ làm việc mẫu của chúng tôi bằng mã, sau đó thực hiện các bước sau để chạy macro.

  1. Chọn một loạt các ô mà bạn muốn xóa văn bản lặp lại.
  2. Nhấn Alt + F8 để mở hộp thoại Macro.Alt + F8 to open the Macro dialog box.
  3. Trong danh sách các macro, chọn RemoveDupeword2.
  4. Nhấp vào Chạy.
    Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Để biết thêm chi tiết, xin vui lòng xem cách chạy macro trong Excel.

Ghi chú. Vì hành động của một macro không thể hoàn tác, chúng tôi khuyên bạn nên lưu sổ làm việc của bạn ngay trước khi sử dụng macro. Bằng cách này, nếu có sự cố xảy ra, bạn có thể chỉ cần đóng lại và mở lại sổ làm việc, và bạn sẽ trở lại chính xác nơi bạn đang ở. Hoặc bạn chỉ có thể tạo một bản sao của (các) bảng tính có thể bị ảnh hưởng bởi macro. Because a macro's action cannot be undone, we strongly recommend saving your workbook right before using the macro. This way, if something goes wrong, you can simply close and reopen the workbook, and you'll be back to exactly where you were. Or you can just make a copy of the worksheet(s) that might be affected by the macro.

Cách xóa các ký tự trùng lặp trong ô

Vấn đề: Bạn có nhiều lần xuất hiện của cùng một ký tự trong một ô, trong khi mỗi ô chỉ nên chứa một lần xuất hiện của một ký tự nhất định.

Giải pháp: Chức năng do người dùng định nghĩa hoặc macro VBA tùy chỉnh.

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Chức năng do người dùng xác định để xóa các ký tự được lặp lại

Để loại bỏ các ký tự được sao chép trong một ô chỉ giữ các lần xuất hiện đầu tiên, bạn có thể sử dụng chức năng do người dùng xác định sau, được đặt tên là RemoveDupechars:

Chức năng RemoveDupeChars (asstring văn bản) từ điển asstringDim asObjectDim char asstringdim kết quả từ điển asstring Từ điển.Add char, không có gì kết quả = result & amp; char endifnext removeDupeChars = kết quả đặt từ điển = nothingfunction RemoveDupeChars(text As String) As String Dim dictionary As Object Dim char As String Dim result As String Set dictionary = CreateObject("Scripting.Dictionary") For i = 1 To Len(text) char = Mid(text, i, 1) If Not dictionary.Exists(char) Then dictionary.Add char, Nothing result = result & char End If Next RemoveDupeChars = result Set dictionary = Nothing End Function

Để chèn mã của chức năng vào sổ làm việc của bạn, các bước hoàn toàn giống như trong ví dụ trước.

RemoveDupeChars Chức năng Cú pháp

Cú pháp của chức năng tùy chỉnh này đơn giản như nó có thể - chỉ cần một đối số:

RemoveDupeChars(text)

Trong đó văn bản là một chuỗi hoặc ô mà bạn muốn xóa các ký tự trùng lặp.text is a string or cell from which you wish to remove duplicate characters.

Chức năng nhạy cảm trường hợp và coi chữ thường và chữ hoa là các ký tự khác nhau.case-sensitive and treats lowercase and uppercase letters as different characters.

Cách sử dụng chức năng RemoveDupeChars

Tất cả những gì chúng tôi nói về việc sử dụng removeDupewords là đúng đối với việc loại bỏ. Vì vậy, mà không đi quá nhiều vào lý thuyết, chúng ta hãy đi thẳng vào một ví dụ.

Để xóa các ký tự trùng lặp khỏi cột A bắt đầu trong A2, hãy nhập công thức này vào B2 và sao chép nó xuống:

=RemoveDupeChars(A2)

Như bạn có thể thấy trong hình ảnh dưới đây, chức năng xử lý thành công các loại ký tự khác nhau bao gồm các chữ cái, chữ số và ký hiệu đặc biệt:

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Mẹo. Nếu các nhân vật của bạn được phân tách với nhau bởi một số dấu phân cách như không gian, dấu phẩy hoặc dấu gạch nối, thì hãy sử dụng chức năng RemoveDupewords như trong ví dụ trước. If your characters are separated from each other by some delimiter such as a space, comma or hyphen, then use the RemoveDupeWords function as shown in the previous example.

Macro VBA để loại bỏ các ký tự giống nhau khỏi ô

Giống như RemoveDupewords, chức năng RemoveDupeChars cũng có thể được gọi từ bên trong Macro:

Publicsub removeDupeChars2 () dimer tế bào dưới dạng tế bào foreach trong ứng dụng.selection cell.value = removeDupechars (cell.value) nicketend Sub RemoveDupeChars2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End Sub

Vì UDF này không sử dụng bất kỳ dấu phân cách nào, bạn sẽ không phải thực hiện bất kỳ điều chỉnh nào trong mã.

Ghi chú. Đối với macro hoạt động, mã của nó và mã của UDF bị loại bỏ phải được đặt vào cùng một mô -đun trong trình chỉnh sửa VBA. For the macro to work, its code and the code of RemoveDupeChars UDF must be placed onto the same module in the VBA editor.

Cách sử dụng macro

Giả sử bạn đã chèn mã macro vào sổ làm việc của mình hoặc mở sổ làm việc mẫu của chúng tôi chứa mã, khởi chạy macro theo cách này.

  1. Chọn một loạt các ô mà bạn muốn xóa các ký tự lặp lại.
  2. Nhấn Alt + F8 để mở hộp thoại Macro.Alt + F8 to open the Macro dialog box.
  3. Trong danh sách các macro, chọn RemoveDupeChars2.
  4. Nhấp vào Chạy.
    Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Loại bỏ các chuỗi con trùng lặp với bộ Ultimate Suite

Khi bắt đầu hướng dẫn này, người ta đã đề cập rằng Microsoft Excel không có tính năng sẵn có để loại bỏ các bản sao trong một ô. Nhưng bộ cuối cùng của chúng tôi làm!

Bạn có thể tìm thấy nó trong menu thả xuống Remover trùng lặp trên tab Dữ liệu ABLEBITS, trong nhóm Dedupe. Nếu tùy chọn Xóa Sublicate Subrings không xuất hiện trong Excel của bạn, hãy đảm bảo bạn có phiên bản mới nhất của Ultimate Suite được cài đặt (có thể tải xuống bản dùng thử miễn phí tại đây).Remove Duplicate Substrings option does not appear in your Excel, make sure you have the latest version of Ultimate Suite installed (a free trial can be downloaded here).

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Để xóa các từ hoặc văn bản lặp đi lặp lại khỏi nhiều ô trong 5 giây (một giây mỗi bước :), đây là những gì bạn cần làm:

  1. Chọn dữ liệu nguồn của bạn và khởi chạy công cụ Xóa Sublicate Subrings.
  2. Chỉ định DELIMITER.delimiter.
  3. Xác định xem có coi các dấu phân cách liên tiếp là một (mặc định).consecutive delimiters as one (default).
  4. Chọn xem có thực hiện tìm kiếm nhạy cảm trường hợp hay không nhạy cảm trường hợp.case-sensitive or case-insensitive search.
  5. Nhấp vào Xóa.Remove.

Xong! Không có sự lo lắng với VBA hoặc công thức, chỉ là kết quả nhanh chóng và chính xác.

Hướng dẫn how do i remove duplicate characters or words in an excel cell? - làm cách nào để xóa các ký tự hoặc từ trùng lặp trong một ô excel?

Để tìm hiểu thêm về bổ trợ tuyệt vời này, vui lòng truy cập trang chủ của nó. Hoặc thậm chí tốt hơn, tải xuống một phiên bản đánh giá dưới đây và thử!

Đó là cách loại bỏ văn bản trùng lặp trong một ô. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!

Tải xuống có sẵn

Ví dụ để loại bỏ các bản sao trong ô (tệp .xlsm) Ultimate Suite phiên bản đầy đủ chức năng 14 ngày (tệp .exe)
Ultimate Suite 14-day fully-functional version (.exe file)

Bạn cũng có thể quan tâm

Excel có thể tìm thấy các từ trùng lặp không?

Định dạng có điều kiện Excel giúp làm nổi bật các bản sao theo mọi cách có thể bạn có thể nghĩ đến: có hoặc không có lần xuất hiện thứ nhất, trong một cột hoặc nhiều cột, các ô trùng lặp liên tiếp và toàn bộ các hàng dựa trên các giá trị giống hệt nhau trong một cột chính. in every possible way you can think of: with or without 1st occurrences, in a single column or multiple columns, consecutive duplicate cells, and entire rows based on identical values in a key column.

Có một công thức Excel loại bỏ trùng lặp?

Hàm duy nhất trả về các giá trị duy nhất có trong một cột.Nó chỉ có sẵn cho Excel Microsoft 365 hoặc Excel Online.