Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để loại bỏ các ký tự hoặc từ trùng lặp trong chuỗi của một ô?

Giả sử có các ký tự hoặc từ trùng lặp trong mỗi ô và bạn muốn xóa các ký tự hoặc từ trùng lặp và chỉ để lại các ký tự hoặc từ duy nhất. Làm thế nào bạn có thể giải quyết vấn đề này trong Excel?

Loại bỏ các ký tự trùng lặp của chuỗi văn bản bằng chức năng do người dùng xác định

Loại bỏ các từ trùng lặp được phân tách bằng dấu câu với Chức năng do Người dùng Xác định


mũi tên màu xanh bong bóng bên phải Loại bỏ các ký tự trùng lặp của chuỗi văn bản bằng chức năng do người dùng xác định

Nếu bạn có danh sách chuỗi văn bản, bây giờ, bạn cần xóa các ký tự trùng lặp như hình minh họa sau. Ở đây, tôi có thể nói về mã VBA để đối phó với nó.

doc-remove-trùng lặp-ký tự-1

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Loại bỏ các ký tự trùng lặp của chuỗi văn bản trong một ô

Function RemoveDupes1(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
    xChar = VBA.Mid(xValue, i, 1)
    If xDic.Exists(xChar) Then
    Else
        xDic(xChar) = ""
        xOutValue = xOutValue & xChar
    End If
Next
RemoveDupes1 = xOutValue
End Function

3. Sau đó, lưu và đóng mã này, quay lại trang tính và nhập công thức này = removeupes1 (A2) (A2 là ô dữ liệu bạn muốn xóa trùng lặp) vào một ô trống bên cạnh dữ liệu của bạn, hãy xem ảnh chụp màn hình:

doc-remove-trùng lặp-ký tự-1

4. Và sau đó kéo chốt điền vào các ô phạm vi mà bạn muốn áp dụng công thức này, tất cả các ký tự trùng lặp đã được xóa khỏi mỗi ô ngay lập tức.

doc-remove-trùng lặp-ký tự-1


mũi tên màu xanh bong bóng bên phải Loại bỏ các từ trùng lặp được phân tách bằng dấu câu với Chức năng do Người dùng Xác định

Nếu có một số từ được phân tách bằng các dấu câu nhất định trong một ô, bạn cũng có thể xóa các từ trùng lặp theo ý muốn. Vui lòng thực hiện theo các bước sau:

1. Giữ phím tắt ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Xóa các từ trùng lặp được phân tách bằng dấu chấm câu của ô

Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
    Dim x
    'Updateby Extendoffice
    With CreateObject("Scripting.Dictionary")
        .CompareMode = vbTextCompare
        For Each x In Split(txt, delim)
            If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
        Next
        If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
    End With
End Function

3. Sau đó, lưu và đóng mã này, quay lại trang tính và nhập công thức này = RemoveDupes2 (A2, ",") vào một ô trống bên cạnh dữ liệu của bạn, xem ảnh chụp màn hình:

doc-remove-trùng lặp-ký tự-1

4. Sau đó, sao chép công thức vào các ô cần thiết của bạn và tất cả các từ trùng lặp đã được xóa khỏi mọi ô. Xem ảnh chụp màn hình:

doc-remove-trùng lặp-ký tự-1

Chú thích: Trong công thức trên, A2 cho biết ô mà bạn muốn sử dụng và dấu phẩy (,) là viết tắt của dấu câu ngăn cách các từ trong một ô, bạn có thể thay đổi nó thành bất kỳ dấu câu nào khác theo nhu cầu của mình.


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Super Formula Bar (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (66)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Vẫn vỡ ... không thực sự hiển thị bất cứ điều gì. Đây là dữ liệu di động của tôi: 27000, Cơ bản, Sản phẩm, Vật liệu, Từ, Gỗ, Đá, Đất, Nguyên liệu, Vật liệu, 27100, Cơ bản, Rừng, Sản phẩm, Chung, 27110, Cơ bản, Rừng, Sản phẩm, Máy cưa, Sản phẩm, 27120, Cơ bản , Rừng, Sản phẩm, Gỗ, Bột giấy, 27200, Thủy tinh Rõ ràng có một số lừa gạt ở đó. Để trống ô. Suy nghĩ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đừng bận tâm, tôi chết lặng. Vì tôi chỉ muốn các từ được kéo nên tôi đã đổi tên mô-đun RemoveDupes, nhưng không thay đổi các RemoveDupes sau này trong mã. Cố định, tự đánh mình bằng búa ....
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Và tôi đã kết hợp RemoveDupes với ConCat (sự tốt lành của VBA, không phải CON (I-SUCK-BECAUSE-I’M-MICROSOFT) CATENATE) thành cái này: = RemoveDupes (ConCat (",", G495: G502), ",") nên nó kéo các tế bào của tôi vào và sau đó quét sạch tất cả các trò lừa đảo. Cảm ơn vì RemoveDupes, đây là ConCat: Function ConCat (Delimiter As Variant, ParamArray CellRanges () As Variant) As String Dim Cell As Range, Area As Variant If IsMissing (Delimiter) then Delimiter = "" For Each Area In CellRanges If TypeName ( Khu vực) = "Phạm vi" Sau đó Đối với Mỗi Ô trong Khu vực Nếu Len (Ô.Value) Thì ConCat = ConCat & Dấu phân cách & Ô.Value Tiếp theo Khác ConCat = ConCat & Dấu phân cách & Khu vực Kết thúc Nếu Tiếp theo ConCat = Giữa (ConCat, Len (Dấu phân cách) ) + 1) Kết thúc chức năng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã thử giải pháp của bạn "Xóa các từ trùng lặp được phân tách bằng dấu chấm câu với Hàm do Người dùng Xác định" và giải pháp này hoạt động hiệu quả với nhiều từ trong một ô NHƯNG không giải quyết được hoàn toàn vấn đề của tôi. Tôi có một ô có nhiều giá trị và muốn so sánh với một ô khác có nhiều giá trị và sau đó yêu cầu nó xóa các bản sao tồn tại giữa hai ô. Có cách nào làm được việc này không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
giống nhau ở đây làm ơn giúp đỡ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
chủ đề này vẫn còn sống? Tôi đánh giá rất cao một số thông tin chi tiết với hàm VBA này .. câu hỏi của tôi liên quan đến mã, nếu có thì tôi cần hướng dẫn nó tìm dấu câu cụ thể làm dấu phân cách .. nếu tôi sử dụng "@" như dấu câu?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Lời khuyên của bạn là tuyệt vời! Tôi đã sắp xếp 58,400 bản ghi trong khoảng 2 phút và tiết kiệm được một tuần (hoặc hơn) công việc. Các bản sao của tôi hơi khó hơn khi chuyển ví dụ này "Đèn lồng nhiên liệu lỏng V&O 13-1 / 2in blk" thành "Đèn lồng nhiên liệu lỏng V&O 13-1 / 2in blk" này, cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, vui lòng tôi cần sự giúp đỡ của bạn, tôi đã thử mã của bạn nhưng nó không hoạt động, có thể do tôi có số Tôi có các số điện thoại trùng lặp được phân tách bằng dấu phẩy. Vui lòng cho tôi biết phải làm gì Cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
giống nhau ở đây làm ơn giúp đỡ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
BRILLIANT cảm ơn bạn! Cảm ơn! Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tuyệt vời, Cảm ơn bạn! .....
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hy dude, tôi cần sự giúp đỡ của bạn. Tôi nên làm gì nếu muốn giải nén bản sao? Trong A1 (asdfghjiklkk) Vì vậy, k là ký tự trùng lặp Tôi muốn A2 (k) tôi phải làm gì?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có thể điều chỉnh chức năng nếu có một từ nào đó tôi muốn giữ lại trong khi các từ còn lại không bị trùng lặp không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cũng giống như để tiết kiệm, cảm ơn bạn rất nhiều vì hướng dẫn này, đã tiết kiệm cho tôi rất nhiều công việc! :)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này rất hữu ích . Tôi đã thử nó và nó hoạt động cho tôi như ngoại lệ. Thông minh !!!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là một giải pháp tuyệt vời và đơn giản để tìm các cụm từ trùng lặp trong một ô, dễ dàng hơn nhiều so với một số giải pháp macro dài dòng mà tôi đã tìm thấy khi tìm kiếm câu trả lời cho vấn đề của mình, cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn vì mã này - nó đã tiết kiệm cho tôi rất nhiều thời gian.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi có dữ liệu như 1. hiển thị bên dưới trong một ô duy nhất và tôi muốn thích 2. 1. ZERPUR, MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653, ZERPUR (16), MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653 Tôi cần cái này như: - ZERPUR, MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653 Cảm ơn & Trân trọng Hanuman Singh 9034509168
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
dạy tôi làm thế nào? cần biết nó quá ..
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
chúng ta có thể tìm ra vị trí của chữ thường đầu tiên không


Exam - RAMSHsJHSAhsjDDD ------ Tôi muốn biết vị trí của chữ cái nhỏ đầu tiên theo công thức = s
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Meharban,
Bạn có thể áp dụng công thức mảng sau để lấy vị trí của chữ thường đầu tiên:
=MATCH(1,IF(ABS(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))-109.5)<=12.5,1),0)
Hãy nhớ nhấn tổ hợp phím Ctrl + Shift + Enter.


Hy vọng nó có thể giúp bạn, cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào skyyang

nó hoạt động bình thường .....
thực sự tôi cũng muốn điều tương tự ..

cảm ơn nhiều !!


Meharban singh bạn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm thế nào để loại bỏ các bản sao chuỗi phù hợp ... bạn có thể cho tôi biết được không


Trân trọng,
Kiran
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Kiran,
Bạn có thể cho một ví dụ về vấn đề của bạn? Hoặc bạn có thể chèn một hình ảnh đính kèm.
Mong chơ hôi âm của bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
cảm ơn rất nhiều, nó giúp tôi nhiều hơn. Nhưng tôi muốn một số cụ thể hơn cho tập dữ liệu của mình.
Tôi có dữ liệu hai Cột. ID và Thông tin. Trong Cột Thông tin, id dự án trên mỗi ô như "Kant-, Udp-, Akr-, v.v." được lặp lại. Đối với tập dữ liệu của tôi, project_id là hơn 15 và nó đã được sửa. Vì vậy, tôi muốn xóa repeat_id khỏi ô nhưng giữ lại ô đầu tiên.
Kiểm tra: Kant-526 (0.0287), Kant-527 (0.0113), Kant-528 (0.0262) /// Kant-526 (0.0287), 527 (0.0113), 528 (0.0262),
Kant-543 (0.0685), Kant-544 (0.0685), Udp-097 (0.0141) /// Kant-543 (0.0685), 544 (0.0685), Udp-097 (0.0141)

Hình ảnh mẫu được đính kèm tại đây. Có giải pháp nào cho điều này.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Imran,
Xin lỗi vì không giải quyết được vấn đề của bạn, nếu ai có ý tưởng hay, xin vui lòng bình luận tại đây.
Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã có một giải pháp của riêng tôi. Tôi đã sử dụng công thức SUBSTITUTE ở đây, nhưng nó quá lớn đối với dữ liệu của tôi. vì vậy hãy lặp lại nó hai hoặc ba lần để có kết quả thích hợp.

= SUBSTITUTE (SUBSTITUTE ("Kant -", "", 2), ("Kant -", "", 2)
Ở đây, thứ nhất 1 cho Kant thứ hai thay thế và tiếp theo mỗi Kant- loại bỏ chỉ cần thêm ("Kant -", "", 2) bổ sung. Nó làm việc cho tôi. Nhưng tôi thích một VBA tốt hơn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn mã.

Bạn có thể giúp tôi không? Tôi đang sử dụng hàm macro để xóa các từ được phân tách bằng dấu chấm câu của ô, tuy nhiên, dữ liệu của tôi không phải là các từ thực sự là các cụm từ. Giống như thay vì "KTE, KTO, KTW, KTO" thực ra là những mô tả ngắn gọn như "chuẩn bị hóa đơn, xem lại email của tôi, cập nhật hợp đồng, xem lại email của tôi".

Có thể cập nhật VBA để loại bỏ các cụm từ trùng lặp thay vì các từ không?

Rất cám ơn, điều này thực sự sẽ rất hữu ích.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Alonso,
Để loại bỏ cụm từ trùng lặp, Chức năng do Người dùng Xác định sau đây có thể giúp ích cho bạn, hãy thử nó.

Hàm RemoveDuplicateValue (xStr As String, xDelim As String) As String
Dim xValue
Nếu (Len (xDelim)> 0) Và (Len (Trim (xStr))> 0) Thì
Với CreateObject ("Scripting.Dictionary")
Đối với mỗi xValue được phân tách (xStr, xDelim)
If Trim (xValue) <> "" And Not .exists (Trim (xValue)) Then .Add Trim (xValue), Nothing
Sau
If .Count> 0 Then RemoveDuplicateValue = Tham gia (.keys, xDelim)
Kết thúc với
Khác
RemoveDuplicateValue = xStr
Cuối Nếu
Cuối Chức năng

Sau đó, áp dụng công thức này: = RemoveDuplicateValue (A2, ","), thay đổi dấu phân tách thành của riêng bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào skyyang,



Tôi hy vọng nhận được một số trợ giúp với ô sau:

PR-PUERTO RICO; HOA KỲ; HOA KỲ

Tôi cần xóa các THỐNG KÊ HOA KỲ trùng lặp vì công cụ tải lên của tôi sẽ không cho phép các bản sao.



Tôi đã sử dụng VBA ở trên và thay thế dấu phân cách công thức bằng ";". Dấu gạch nối gây ra sự cố này có vấn đề gì không? Nó trả về #NAME? bất cứ khi nào tôi chạy công thức. Tôi mới sử dụng macro / VBA nhưng tôi đảm bảo rằng tệp đã được lưu dưới dạng tệp Đã bật Macro. Tôi thực sự đã cố gắng làm theo những điều này đến T.


Cảm ơn bạn vì tất cả thông tin đã rất tuyệt vời này vì nó đã giúp ích cho một dự án khác mà tôi cũng phải hoàn thành và bất cứ điều gì bổ sung đều được đánh giá rất cao.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Michael,
Ý của bạn là xóa tất cả các cụm từ trùng lặp khỏi một ô và chỉ để lại những cụm từ duy nhất?
Mong nhận được câu trả lời của bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là đầu ra tôi đang tìm kiếm:

Hiện tại: PR-PUERTO RICO; HOA KỲ; HOA KỲ
Mong muốn: PR-PUERTO RICO; HOA KỲ

Hy vọng điều này có ý nghĩa và cảm ơn bạn rất nhiều vì đã trả lời nhanh chóng.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Michael,
Bạn chỉ cần áp dụng mã dưới đây, và sau đó sử dụng công thức này: = RemoveDuplicateValue (A2, ";"). Hãy cố gắng, hy vọng nó có thể giúp bạn!

Hàm RemoveDuplicateValue (xStr As String, xDelim As String) As String
Dim xValue
Nếu (Len (xDelim)> 0) Và (Len (Trim (xStr))> 0) Thì
Với CreateObject ("Scripting.Dictionary")
Đối với mỗi xValue được phân tách (xStr, xDelim)
If Trim (xValue) <> "" And Not .exists (Trim (xValue)) Then .Add Trim (xValue), Nothing
Sau
If .Count> 0 Then RemoveDuplicateValue = Tham gia (.keys, xDelim)
Kết thúc với
Khác
RemoveDuplicateValue = xStr
Cuối Nếu
Cuối Chức năng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn rất nhiều. Phản hồi của bạn được hoan nghênh hơn tách cà phê của tôi!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, điều này thực sự hữu ích
Nhưng tôi muốn xóa toàn bộ các từ sau "KHÔNG ĐẾN:"

ví dụ: KHÔNG ĐẾN: [C11bx1]

KHÔNG ĐẾN: [C11bx3] như thế này
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất