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

Bagaimana cara menghapus karakter atau kata duplikat dalam string sel?

Misalkan ada karakter atau kata duplikat di setiap sel, dan Anda ingin menghapus duplikat tersebut dan hanya menyisakan karakter atau kata unik. Bagaimana Anda bisa mengatasi masalah ini di Excel?

Hapus karakter duplikat dari string teks dengan User Defined Function

Hapus kata duplikat yang dipisahkan oleh tanda baca dengan User Defined Function


panah gelembung kanan biru Hapus karakter duplikat dari string teks dengan User Defined Function

Jika Anda memiliki daftar string teks, sekarang, Anda perlu menghapus karakter duplikat seperti gambar berikut yang ditampilkan. Di sini, saya dapat berbicara tentang kode VBA untuk menghadapinya.

doc-remove-duplikat-karakter-1

1. Tahan ALT + F11 kunci untuk membuka Jendela Microsoft Visual Basic for Applications.

2. Klik Menyisipkan > Modul, dan tempel kode berikut di Jendela Modul.

Kode VBA: Hapus karakter duplikat dari string teks dalam sel

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. Kemudian simpan dan tutup kode ini, kembali ke lembar kerja, dan masukkan rumus ini = dihapusupes1 (A2) (A2 adalah sel data yang ingin Anda hapus duplikatnya) ke dalam sel kosong selain data Anda, lihat tangkapan layar:

doc-remove-duplikat-karakter-1

4. Dan kemudian seret gagang isian ke sel rentang yang ingin Anda terapkan rumus ini, semua karakter duplikat telah segera dihapus dari setiap sel.

doc-remove-duplikat-karakter-1


panah gelembung kanan biru Hapus kata duplikat yang dipisahkan oleh tanda baca dengan User Defined Function

Jika ada beberapa kata yang dipisahkan oleh tanda baca tertentu di dalam sel, Anda juga dapat menghapus kata duplikat sesuka Anda. Silakan lakukan dengan langkah-langkah berikut:

1. Tahan ALT + F11 kunci untuk membuka Jendela Microsoft Visual Basic for Applications.

2. Klik Menyisipkan > Modul, dan tempel kode berikut di Jendela Modul.

Kode VBA: Hapus kata duplikat yang dipisahkan dengan tanda baca sel

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. Kemudian simpan dan tutup kode ini, kembali ke lembar kerja, dan masukkan rumus ini = RemoveDupes2 (A2, ",") ke dalam sel kosong di samping data Anda, lihat tangkapan layar:

doc-remove-duplikat-karakter-1

4. Kemudian salin rumus ke sel yang Anda butuhkan, dan semua kata duplikat telah dihapus dari setiap sel. Lihat tangkapan layar:

doc-remove-duplikat-karakter-1

Note: Dalam rumus di atas, A2 menunjukkan sel yang ingin Anda gunakan, dan koma (,) adalah tanda baca yang memisahkan kata-kata dalam sel, Anda dapat mengubahnya menjadi tanda baca lain sesuai kebutuhan Anda.


Alat Produktivitas Kantor Terbaik

Kutools for Excel Memecahkan Sebagian Besar Masalah Anda, dan Meningkatkan Produktivitas Anda hingga 80%

  • Reuse: Masukkan dengan cepat rumus, bagan yang kompleks dan apa pun yang pernah Anda gunakan sebelumnya; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom tanpa kehilangan Data; Pisahkan Konten Sel; Gabungkan Baris / Kolom Duplikat... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Lebih dari 300 fitur canggih. Mendukung Office / Excel 2007-2021 dan 365. Mendukung semua bahasa. Penerapan yang mudah di perusahaan atau organisasi Anda. Fitur lengkap Uji coba gratis 30 hari. Jaminan uang kembali 60 hari.
tab kte 201905

Tab Office Membawa antarmuka Tab ke Office, dan Membuat Pekerjaan Anda Jauh Lebih Mudah

  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Meningkatkan produktivitas Anda sebesar 50%, dan mengurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (66)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Masih pecah ... tidak benar-benar menunjukkan apa-apa. Ini data sel saya: 27000,Basic,Products,Materials,From,Wood,Stone,Earthen,Raw,Materials,27100,Basic,Forest,Products,General,27110,Basic,Forest,Products,Sawmill,Products,27120,Basic ,Hutan,Produk,Kayu,Bubur Kertas,27200,Kaca Jelas ada beberapa penipuan di sana. Meninggalkan sel kosong. Pikiran?
Komentar ini diminimalkan oleh moderator di situs
Tidak apa-apa, aku bodoh. Karena saya hanya ingin kata-kata ditarik, saya mengganti nama modul RemoveDupes, tetapi tidak mengubah RemoveDupes nanti dalam kode. Memperbaiki, memukul diri sendiri dengan palu ....
Komentar ini diminimalkan oleh moderator di situs
Dan saya menggabungkan RemoveDupes dengan ConCat (kebaikan VBA, bukan CON(I-SUCK-BECAUSE-I'M-MICROSOFT)CATENATE) menjadi ini: =RemoveDupes(ConCat(",",G495:G502),",") jadi itu menarik sel saya dan kemudian menghapus semua penipuan. Terima kasih untuk RemoveDupes, inilah ConCat: Fungsi ConCat(Pembatas Sebagai Varian, ParamArray CellRanges() Sebagai Varian) Sebagai String Dim Cell Sebagai Rentang, Area Sebagai Varian Jika Hilang(Pembatas) Kemudian Pembatas = "" Untuk Setiap Area Di CellRanges If TypeName( Area) = "Range" Kemudian Untuk Setiap Sel Dalam Area If Len(Cell.Value) Kemudian ConCat = ConCat & Delimiter & Cell.Value Next Else ConCat = ConCat & Delimiter & Area End If Next ConCat = Mid(ConCat, Len(Delimiter) ) + 1) Fungsi Akhir
Komentar ini diminimalkan oleh moderator di situs
Saya mencoba solusi Anda "Hapus kata-kata duplikat yang dipisahkan oleh tanda baca dengan Fungsi Buatan Pengguna" dan ini berfungsi dengan baik untuk banyak kata dalam sel TETAPI tidak sepenuhnya menyelesaikan masalah saya. Saya memiliki satu sel yang memiliki banyak nilai dan ingin membandingkan dengan sel lain dengan banyak nilai dan kemudian menghapus duplikat yang ada di antara dua sel. Apakah ada cara untuk melakukan itu?
Komentar ini diminimalkan oleh moderator di situs
sama di sini tolong bantu
Komentar ini diminimalkan oleh moderator di situs
apakah trit ini masih hidup? Saya akan sangat menghargai beberapa wawasan dengan fungsi VBA ini .. pertanyaan saya berkaitan dengan kode, di mana jika memang saya perlu menginstruksikannya untuk menemukan tanda baca khusus sebagai pembatas .. jika saya menggunakan "@" sebagai tanda baca?
Komentar ini diminimalkan oleh moderator di situs
Saran Anda luar biasa! Saya mengurutkan 58,400 catatan dalam waktu sekitar 2 menit dan menghemat satu minggu (atau lebih) pekerjaan. Duplikat saya sedikit lebih sulit mengubah contoh ini " Lentera Bahan Bakar Cair V&O 13-1/2in blk fuel lamp " menjadi " V&O Liquid Fuel Lantern 13-1/2in blk " terima kasih.
Komentar ini diminimalkan oleh moderator di situs
Halo, tolong saya butuh bantuan Anda, saya mencoba kode Anda tetapi tidak berhasil, mungkin karena saya memiliki nomor saya memiliki nomor telepon duplikat dipisahkan dengan koma Tolong beri tahu saya apa yang harus dilakukan Terima kasih
Komentar ini diminimalkan oleh moderator di situs
sama di sini tolong bantu
Komentar ini diminimalkan oleh moderator di situs
Terima kasih BRILIAN! terima kasih! terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Luarbiasa, terimakasih!.....
Komentar ini diminimalkan oleh moderator di situs
Hai sobat aku butuh bantuanmu. Apa yang harus saya lakukan jika saya ingin mengekstrak duplikat? Dalam A1 (asdfghjiklkk) Jadi k adalah karakter duplikat Saya ingin A2 (k) apa yang harus saya lakukan?
Komentar ini diminimalkan oleh moderator di situs
Apakah mungkin untuk menyesuaikan fungsinya jika ada kata tertentu yang ingin saya tetap diduplikasi sedangkan yang lainnya tidak digandakan?
Komentar ini diminimalkan oleh moderator di situs
Sama seperti menyimpan terima kasih banyak untuk panduan ini, menyelamatkan saya banyak pekerjaan! :)
Komentar ini diminimalkan oleh moderator di situs
Ini sangat membantu. Saya telah mencobanya dan itu berfungsi untuk saya seperti yang dikecualikan. Bagus sekali !!!!
Komentar ini diminimalkan oleh moderator di situs
Ini adalah solusi yang luar biasa dan sederhana untuk menemukan frasa duplikat dalam satu sel, jauh lebih mudah daripada beberapa solusi makro bertele-tele yang saya temukan saat mencari jawaban untuk masalah saya, terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Terima kasih untuk kode ini - ini menghemat banyak waktu saya.
Komentar ini diminimalkan oleh moderator di situs
Saya memiliki data seperti 1. tampilkan di bawah ini dalam satu sel dan saya ingin menyukai 2. 1. ZERPUR,MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653, ZERPUR(16),MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653 Saya membutuhkan ini like :- ZERPUR,MAHENDRAGARH, HARYANA-123029, 30771237, 8813073653 Thanks & Regards Hanuman Singh 9034509168
Komentar ini diminimalkan oleh moderator di situs
ajari aku bagaimana? perlu tau juga..
Komentar ini diminimalkan oleh moderator di situs
dapatkah kita mengetahui posisi 1 huruf kecil?


Ujian - RAMSHsJHSAhsjDDD ------Saya ingin tahu posisi 1 huruf kecil dengan rumus = s
Komentar ini diminimalkan oleh moderator di situs
Halo, Meharban,
Anda dapat menerapkan rumus array berikut untuk mendapatkan posisi huruf kecil pertama:
=MATCH(1,IF(ABS(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))-109.5)<=12.5,1),0)
Harap ingat untuk menekan Ctrl + Shift + Enter secara bersamaan.


Semoga dapat membantu Anda, terima kasih
Komentar ini diminimalkan oleh moderator di situs
Hai skyyang

sudah berfungsi dengan baik.....
sebenarnya aku menginginkan hal yang sama..

terimakasih banyak !!


Meharban singh sobat
Komentar ini diminimalkan oleh moderator di situs
Bagaimana cara menghapus duplikat string yang cocok ... bisakah Anda memberi tahu saya?


Salam,
Kiran
Komentar ini diminimalkan oleh moderator di situs
Halo, Kiran,
Bisakah Anda memberikan contoh masalah Anda? Atau Anda dapat menyisipkan gambar lampiran.
Menunggu balasanmu!
Komentar ini diminimalkan oleh moderator di situs
terima kasih banyak, itu membantu saya lebih banyak. Tapi saya ingin lebih spesifik untuk dataset saya.
Saya memiliki dua kolom data. ID dan Info. Di Kolom Info, id proyek per sel seperti "Kant-, Udp-, Akr- dll" diulang. Untuk dataset saya, project_id lebih dari 15 dan sudah diperbaiki. Jadi saya ingin menghapus repeat_id dari sel tetapi tetap yang pertama.
Contoh: 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)

Contoh gambar terlampir di sini. Apakah ada solusi untuk ini.
Komentar ini diminimalkan oleh moderator di situs
Halo, Imran,
Maaf karena tidak menyelesaikan masalah Anda, jika ada yang punya ide bagus, silakan beri komentar di sini.
Terima kasih!
Komentar ini diminimalkan oleh moderator di situs
Saya punya solusi sendiri. Saya telah menggunakan rumus SUBSTITUTE di sini, tetapi terlalu besar untuk data saya. jadi ulangi dua atau tiga kali untuk mendapatkan hasil yang tepat.

=SUBSTITUTE(GANTI("Kant-","",2), ("Kant-","",2)
Di sini, 1 pertama untuk penggantian Kant kedua dan untuk setiap penghapusan Kant berikutnya tambahkan saja ("Kant-","",2) ekstra. Ini bekerja untuk saya. Tapi saya lebih suka VBA yang bagus.
Komentar ini diminimalkan oleh moderator di situs
Terima kasih atas kodenya.

Bisakah kamu menolongku? Saya menggunakan fungsi makro untuk menghapus kata-kata yang dipisahkan oleh tanda baca sel, namun data saya bukan kata-kata sebenarnya adalah frasa. Seperti alih-alih "KTE, KTO, KTW, KTO" sebenarnya adalah deskripsi singkat seperti "siapkan tagihan, tinjau email saya, perbarui kontrak, tinjau email saya".

Apakah mungkin untuk memperbarui VBA untuk menghapus frasa yang digandakan alih-alih kata-kata?

Terima kasih banyak, ini sebenarnya akan sangat membantu.
Komentar ini diminimalkan oleh moderator di situs
Hai, Alonso,
Untuk menghapus frasa duplikat, Fungsi Buatan Pengguna berikut dapat membantu Anda, silakan coba.

Fungsi RemoveDuplicateValue(xStr Sebagai String, xDelim Sebagai String) Sebagai String
redup xNilai
Jika (Len(xDelim) > 0) Dan (Len(Trim(xStr)) > 0) Maka
Dengan CreateObject("Scripting.Dictionary")
Untuk Setiap xValue Di Split(xStr, xDelim)
Jika Pangkas(xValue) <> "" Dan Tidak .exists(Trim(xValue)) Kemudian .Tambahkan Pangkas(xValue), Tidak Ada
Next
Jika .Count > 0 Kemudian RemoveDuplicateValue = Join(.keys, xDelim)
Berakhir dengan
Lain
HapusDuplicateValue = xStr
End If
End Function

Kemudian terapkan rumus ini: =RemoveDuplicateValue(A2,","), ubah pemisahnya menjadi milik Anda.
Komentar ini diminimalkan oleh moderator di situs
Halo skyyang,



Saya berharap mendapatkan bantuan dengan sel berikut:

PR-PUERTO RIKO; AS-AS; AMERIKA SERIKAT

Saya ingin duplikat AS-UNITED STATES dihapus karena alat unggah saya tidak akan mengizinkan duplikat.



Saya menggunakan VBA di atas dan mengganti pembatas rumus saya dengan ";". Apakah tanda hubung menyebabkan masalah ini? Ini mengembalikan #NAME? setiap kali saya menjalankan rumus. Saya baru mengenal makro/VBA tetapi saya memastikan file disimpan sebagai file yang Diaktifkan Makro. Saya benar-benar mencoba mengikuti ini ke T.


Terima kasih atas semua informasi yang sudah bagus ini karena telah membantu proyek lain yang harus saya selesaikan juga dan tambahan apa pun sangat dihargai.
Komentar ini diminimalkan oleh moderator di situs
Hai, Michael,
Maksud Anda menghapus semua frasa duplikat dari sel, dan hanya menyisakan yang unik?
Nantikan balasan Anda!
Komentar ini diminimalkan oleh moderator di situs
Ini adalah output yang saya cari:

Saat ini: PR-PUERTO RICO; AS-AS; AMERIKA SERIKAT
Diinginkan: PR-PUERTO RICO; AMERIKA SERIKAT

Semoga ini masuk akal dan terima kasih banyak atas balasan cepatnya.
Komentar ini diminimalkan oleh moderator di situs
Hai, Michael,
Anda hanya perlu menerapkan kode di bawah ini, lalu gunakan rumus ini: =RemoveDuplicateValue(A2,";"). Silakan dicoba, semoga bisa membantu Anda!

Fungsi RemoveDuplicateValue(xStr Sebagai String, xDelim Sebagai String) Sebagai String
redup xNilai
Jika (Len(xDelim) > 0) Dan (Len(Trim(xStr)) > 0) Maka
Dengan CreateObject("Scripting.Dictionary")
Untuk Setiap xValue Di Split(xStr, xDelim)
Jika Pangkas(xValue) <> "" Dan Tidak .exists(Trim(xValue)) Kemudian .Tambahkan Pangkas(xValue), Tidak Ada
Next
Jika .Count > 0 Kemudian RemoveDuplicateValue = Join(.keys, xDelim)
Berakhir dengan
Lain
HapusDuplicateValue = xStr
End If
End Function
Komentar ini diminimalkan oleh moderator di situs
Terima kasih banyak. Tanggapan Anda lebih diterima daripada secangkir kopi saya!
Komentar ini diminimalkan oleh moderator di situs
Hai ini sangat membantu
Tetapi saya ingin menghapus seluruh kata setelah "NO TO:"

misalnya: TIDAK UNTUK: [C11bx1]

TIDAK UNTUK: [C11bx3] seperti ini
Belum ada komentar yang diposting di sini
Muat Lebih
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan

Ikuti kami

Hak Cipta © 2009 - www.extendoffice.com. | Seluruh hak cipta. Dipersembahkan oleh ExtendOffice. | Peta Situs
Microsoft dan logo Office adalah merek dagang atau merek dagang terdaftar dari Microsoft Corporation di Amerika Serikat dan / atau negara lain.
Dilindungi oleh Sectigo SSL