Cara menghapus duplikat dalam sel di Excel

  • Bagikan Ini
Michael Brown

Ada tiga cara untuk menemukan dan menghapus duplikat dalam sel di Excel. Pilih saja salah satu yang paling sesuai untuk Anda.

Ketika menyangkut menghapus nilai atau baris duplikat, Microsoft Excel menawarkan berbagai opsi berbeda. Tetapi ketika harus menghapus teks yang identik dalam sel tertentu, Excel tidak menyediakan... tidak ada. Tidak ada alat, tidak ada fitur, tidak ada rumus, tidak ada apa-apa. Apakah itu akan menghentikan kita untuk mencapai tujuan kita? Tidak ada kasus. Jika Excel tidak memiliki fungsi yang kita butuhkan, mari kita tulis fungsi kita sendiri :)

    Cara menghapus kata berulang di sel Excel

    Masalah : Anda memiliki kata atau string teks yang sama dalam sel dan ingin menghapus pengulangan kedua dan semua pengulangan berikutnya.

    Solusi : fungsi kustom yang ditentukan pengguna atau makro VBA.

    Fungsi yang ditentukan pengguna untuk menghapus duplikat dalam sel

    Untuk mengeliminasi teks duplikat dalam sel, Anda bisa menggunakan fungsi yang ditentukan pengguna (UDF) berikut ini, bernama HapusDupeWords :

    Function 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 ThenRemoveDupeWords = Join(dictionary.keys, delimiter) Else RemoveDupeWords = "" End If Set dictionary = Nothing End Function

    Cara menyisipkan kode fungsi di buku kerja Anda

    Untuk menambahkan kode di atas ke Excel Anda, inilah yang perlu Anda lakukan:

    1. Tekan Alt + F11 untuk membuka Visual Basic Editor.
    2. Pada panel kiri, klik kanan Buku Kerja ini dan pilih Sisipkan > Modul .
    3. Tempelkan kode di atas pada Kode jendela.

    Untuk informasi lebih lanjut, silakan lihat Cara memasukkan kode VBA di Excel.

    Sintaks fungsi RemoveDupeWords

    Fungsi yang baru dibuat untuk menghapus teks duplikat dalam sel memiliki sintaks berikut:

    HapusDupeWords(teks, [pembatas])

    Di mana:

    • Teks (wajib) - string atau sel tempat Anda ingin menghapus teks berulang.
    • Pembatas (opsional) - pembatas yang memisahkan teks yang diulang. Jika dihilangkan, spasi digunakan untuk pembatas.

    Fungsinya adalah tidak peka huruf besar-kecil , yang berarti bahwa huruf kecil dan huruf besar diperlakukan sebagai karakter yang sama.

    Cara menggunakan fungsi RemoveDupeWords

    Setelah kode fungsi ditambahkan ke buku kerja Anda, Anda bisa menggunakannya dalam rumus Anda dengan cara yang sama seperti Anda menggunakan fungsi bawaan Excel.

    Mulailah mengetikkan nama fungsi setelah tanda sama dengan, dan itu akan muncul di formula intellisense. Klik dua kali pada fungsi, dan Anda akan menyisipkannya ke dalam sel. Tentukan argumen, ketik kurung penutup, tekan Enter , dan formula Anda selesai.

    Misalnya, untuk menghapus kata duplikat yang dipisahkan oleh koma dan spasi dari A2, masukkan rumus di bawah ini di B2, lalu seret ke bawah melalui sel sebanyak yang diperlukan:

    =HapusDupeWords(A2, ", ")

    Sebagai hasilnya, Anda akan memiliki daftar kata-kata unik atau substring yang dipisahkan oleh tanda koma dan spasi :

    Jika Anda lebih suka mendapatkan daftar yang dipisahkan koma, maka gunakan hanya koma untuk pembatas:

    =HapusDupeWords(A2, ",")

    Jika sumber data Anda dipisahkan oleh ruang , argumen kedua harus " " atau dihilangkan:

    =HapusDupeWords(A2)

    Seperti fungsi Excel lainnya, UDF kami menghitung ulang secara otomatis ketika data sumber berubah, sehingga hasil Anda akan selalu terbarui.

    Makro VBA untuk menghapus teks duplikat dari beberapa sel sekaligus

    Jika Anda ingin menghapus teks berulang dari beberapa sel sekaligus, maka Anda dapat memanggil HapusDupeWords Dalam hal ini, pembatasnya adalah hardcoded, dan Anda harus memperbarui kode makro setiap kali pembatasnya berubah. Alternatifnya, Anda dapat menulis beberapa variasi kode untuk pembatas yang paling umum, misalnya, spasi, koma, atau koma dan spasi, dan memberi nama makro Anda yang bermakna, misalnya. HapusDupesDelimSpace .

    Kode makro adalah sebagai berikut:

    Public Sub RemoveDupeWords2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeWords(cell.Value, ", " ) Next End Sub

    Dalam kode di atas, pembatasnya adalah koma dan spasi Untuk menggunakan pembatas yang berbeda, ganti "," dengan karakter lain di baris kode ini:

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

    Catatan. Agar makro berfungsi, kodenya dan kode fungsi RemoveDupeWords harus ditempatkan pada modul yang sama.

    Cara menggunakan makro

    Sisipkan kode makro di buku kerja Anda sendiri atau buka buku kerja contoh kami dengan kodenya, lalu lakukan langkah-langkah berikut untuk menjalankan makro.

    1. Pilih rentang sel yang ingin Anda hapus teks berulangnya.
    2. Tekan Alt + F8 untuk membuka Makro kotak dialog.
    3. Dalam daftar makro, pilih HapusDupeWords2 .
    4. Klik Lari .

    Untuk detail lebih lanjut, silakan lihat Cara menjalankan makro di Excel.

    Catatan. Karena aksi makro tidak dapat dibatalkan Dengan cara ini, jika terjadi kesalahan, Anda cukup menutup dan membuka kembali buku kerja, dan Anda akan kembali ke tempat semula. Atau Anda bisa membuat salinan lembar kerja yang mungkin terpengaruh oleh makro.

    Cara menghapus karakter duplikat dalam sel

    Masalah : Anda memiliki beberapa kemunculan karakter yang sama dalam sel, sementara setiap sel hanya boleh berisi satu kemunculan karakter tertentu.

    Solusi : fungsi kustom yang ditentukan pengguna atau makro VBA.

    Fungsi yang ditentukan pengguna untuk menghapus karakter berulang

    Untuk menghapus karakter duplikat dalam sel yang hanya menyimpan kemunculan pertama, Anda bisa menggunakan fungsi yang ditentukan pengguna berikut ini, bernama HapusDupeChars :

    Function 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

    Untuk menyisipkan kode fungsi ke dalam buku kerja Anda, langkah-langkahnya persis sama seperti pada contoh sebelumnya.

    Sintaks fungsi RemoveDupeChars

    Sintaks fungsi kustom ini sesederhana mungkin - hanya satu argumen yang diperlukan:

    HapusDupeChars(teks)

    Di mana teks adalah string atau sel yang ingin Anda hapus karakter duplikatnya.

    Fungsinya adalah peka huruf besar-kecil dan memperlakukan huruf kecil dan huruf besar sebagai karakter yang berbeda.

    Cara menggunakan fungsi RemoveDupeChars

    Semua yang kita katakan mengenai penggunaan RemoveDupeWords adalah benar untuk HapusDupeChars Jadi, tanpa terlalu banyak membahas teori, mari kita langsung ke contoh.

    Untuk menghapus karakter duplikat dari kolom A yang dimulai di A2, masukkan rumus ini di B2 dan salin ke bawah:

    =HapusDupeChars(A2)

    Seperti yang bisa Anda lihat pada gambar di bawah ini, fungsi ini berhasil menangani jenis karakter yang berbeda, termasuk huruf, digit dan simbol khusus:

    Tip. Jika karakter Anda terpisah satu sama lain oleh beberapa pembatas seperti spasi, koma, atau tanda hubung, kemudian gunakan HapusDupeWords seperti yang ditunjukkan dalam contoh sebelumnya.

    Makro VBA untuk menghapus karakter yang sama dari sel

    Suka HapusDupeWords , yang HapusDupeChars juga bisa dipanggil dari dalam makro:

    Public Sub RemoveDupeChars2() Dim cell As Range For Each cell In Application.Selection cell.Value = RemoveDupeChars(cell.Value) Next End Sub

    Karena UDF ini tidak menggunakan pembatas apa pun, Anda tidak perlu melakukan penyesuaian apa pun dalam kode.

    Catatan. Agar makro berfungsi, kodenya dan kode RemoveDupeChars UDF harus ditempatkan pada modul yang sama di editor VBA.

    Cara menggunakan makro

    Dengan asumsi Anda telah memasukkan kode makro di buku kerja Anda atau membuka buku kerja contoh kami yang berisi kode, luncurkan makro dengan cara ini.

    1. Pilih rentang sel yang ingin Anda hapus karakter berulangnya.
    2. Tekan Alt + F8 untuk membuka Makro kotak dialog.
    3. Dalam daftar makro, pilih HapusDupeChars2 .
    4. Klik Lari .

    Hapus substring duplikat dengan Ultimate Suite

    Di awal tutorial ini, disebutkan bahwa Microsoft Excel tidak memiliki fitur bawaan untuk menghapus duplikat dalam sel. Tapi Ultimate Suite kami memilikinya!

    Anda bisa menemukannya di Penghapus Duplikat menu tarik-turun pada Data Ablebits tab, di tab Dedupe kelompok. Jika Hapus Substring Duplikat tidak muncul di Excel Anda, pastikan Anda telah menginstal versi terbaru Ultimate Suite (uji coba gratis dapat diunduh di sini).

    Untuk menghapus kata atau teks berulang dari beberapa sel dalam 5 detik (satu detik per langkah :), inilah yang perlu Anda lakukan:

    1. Pilih sumber data Anda dan luncurkan Hapus Substring Duplikat alat.
    2. Tentukan pembatas .
    3. Tentukan apakah akan mengobati pembatas yang berurutan sebagai satu (default).
    4. Pilih apakah akan melakukan peka huruf besar-kecil atau tidak peka huruf besar-kecil pencarian.
    5. Klik Hapus .

    Selesai! Tidak perlu mengutak-atik VBA atau formula, hanya hasil yang cepat dan akurat.

    Untuk mempelajari lebih lanjut tentang add-in yang mengagumkan ini, silakan kunjungi halaman beranda. Atau bahkan lebih baik lagi, unduh versi evaluasi di bawah ini dan cobalah!

    Itulah cara menghapus teks duplikat dalam sel. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!

    Unduhan yang tersedia

    Contoh untuk menghapus duplikat dalam sel (file .xlsm)

    Ultimate Suite 14 hari versi yang berfungsi penuh (file .exe)

    Michael Brown adalah penggemar teknologi berdedikasi dengan hasrat untuk menyederhanakan proses kompleks menggunakan perangkat lunak. Dengan pengalaman lebih dari satu dekade di industri teknologi, dia telah mengasah keahliannya di Microsoft Excel dan Outlook, serta Google Spreadsheet dan Dokumen. Blog Michael didedikasikan untuk berbagi pengetahuan dan keahliannya dengan orang lain, memberikan tip dan tutorial yang mudah diikuti untuk meningkatkan produktivitas dan efisiensi. Apakah Anda seorang profesional berpengalaman atau pemula, blog Michael menawarkan wawasan berharga dan saran praktis untuk mendapatkan hasil maksimal dari perangkat lunak penting ini.