Bagaimana cara menghapus duplikat dari 1 kolom tetapi meninggalkan sel kosong di tempat duplikat?


0

Saya memiliki selembar dengan 2 kolom. kolom pertama memiliki nilai unik, sedangkan kolom kedua memiliki banyak duplikat.

Saya ingin menghapus duplikat dari kolom kedua, namun sel-sel yang sebelumnya berisi duplikat harus tetap kosong sehingga nilai kolom pertama masih cocok dengan nilai di kolom kedua.

Perhatikan bahwa duplikat tidak selalu berdekatan. Hanya kejadian pertama yang harus dipertahankan terlepas dari lokasi duplikat berikutnya.

Saat ini ketika saya menghapus duplikat kompres seluruh kolom yang menghancurkan pertandingan asli antara dua kolom. enter image description here


Apakah ada persyaratan bahwa ini dilakukan dalam placer ke data asli atau apakah OK untuk membuat data output yang Anda inginkan (baik kolom tambahan dan Anda bisa menyembunyikan kolom 2 yang ada, atau kumpulan kolom serupa di lokasi lain )?
fixer1234

@ fixer1234 Terima kasih atas waktu Anda. Satu-satunya persyaratan saya adalah bahwa nilai yang difilter berada di baris yang sama dengan aslinya, sehingga data dari kolom 2 dapat ditampilkan di kolom # 3, # 2 atau yang lain selama duplikatnya dihapus dan tidak bergerak secara vertikal.
NickNo

Apakah data didahului sehingga semua duplikat selalu dikelompokkan bersama atau merupakan persyaratan hanya duplikat yang bersama-sama dibersihkan (misalnya, "Sedan" dapat terjadi lagi lebih jauh ke bawah daftar dengan nilai-nilai intervensi lainnya dan itu hanya akan menjadi lokasi lain untuk membersihkan duplikat berurutan)?
fixer1234

Sangat menyenangkan Anda telah menambahkan grafik untuk membantu, tetapi, latar belakang tersebut mewakili warna migrain berkualitas baik! :( Akan lebih bagus di latar belakang polos.
Dave

Jawaban:


1

Komentar Anda menunjukkan bahwa duplikat tidak harus berurutan. Ini adalah formula yang akan mengatasinya. Buat kolom tampilan baru di C dan sembunyikan kolom B jika diinginkan. Katakanlah data Anda dimulai pada baris 2. Sel C2 akan menjadi:

    =IF(ISERROR(MATCH(B2,C$2:C2,0)),B2,"")

Salin ke bawah kolom. Ini akan melihat untuk melihat apakah nilai di kolom B sudah cocok dengan entri di kolom C. Jika demikian, itu akan mengembalikan kosong. Jika tidak, ia menggunakan nilai kolom B.


Satu-satunya masalah adalah duplikat tidak harus berurutan. jadi a, a, a, b, a, c masih akan meninggalkan angka 4 a, meskipun itu duplikat.
NickNo

@NickNo - Saya merevisi rumus untuk menangani duplikat tidak berurutan. Lihat apakah itu berhasil.
fixer1234

Tidak, saya khawatir saya mendapatkan nilai dalam B1 diulangi di seluruh kolom C bersama dengan kesalahan melingkar. stackoverflow.com/questions/17468282/… Mungkin ini bisa membantu.
NickNo

Tautan itu tidak relevan. Saya curiga Anda memiliki kesalahan ketik. Bisakah Anda menempelkan formula yang Anda miliki di C1, C2 dan C3 ke dalam komentar? Tidak jelas dari mana nilai B1 akan datang.
fixer1234

Rumus ini mengasumsikan data Anda dimulai pada baris 2 dan rumus dalam jawabannya masuk dalam C2. Jika Anda mencoba meletakkannya di C1 tanpa mengubah semua referensi sel, itu tidak akan berhasil. Juga, Anda harus memasukkannya dalam C2, lalu salin dari sana agar referensi sel menyebar dengan benar.
fixer1234

0

Klik sel mana saja di kolom yang ingin Anda proses dan jalankan makro kecil ini:

Sub DuplicateKiller()
    Dim N As Long, IR As Long, v As Variant
    Dim i As Long, rng As Range
    IR = ActiveCell.Column
    N = Cells(Rows.Count, IR).End(xlUp).Row
    Set r = Range(Cells(1, IR), Cells(N, IR))

    For i = N To 1 Step -1
        With Cells(i, IR)
            v = .Value
            If Application.WorksheetFunction.CountIf(r, v) > 1 Then
                .ClearContents
            End If
        End With
    Next i
End Sub

Macro sangat mudah dipasang dan digunakan:

  1. ALT-F11 menampilkan jendela VBE
  2. ALT-I ALT-M membuka modul baru
  3. rekatkan barang-barang di dan tutup jendela VBE

Jika Anda menyimpan buku kerja, makro akan disimpan bersamanya. Jika Anda menggunakan versi Excel di kemudian 2003, Anda harus menyimpan file sebagai .xlsm daripada .xlsx

Untuk menghapus makro:

  1. buka jendela VBE seperti di atas
  2. hapus kode
  3. tutup jendela VBE

Untuk menggunakan makro dari Excel:

  1. ALT-F8
  2. Pilih makro
  3. Sentuh RUN

Untuk mempelajari lebih lanjut tentang makro secara umum, lihat:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

dan

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Makro harus diaktifkan agar ini berfungsi!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.