Bazı sütunlara dayalı yinelenen satırlar nasıl kaldırılır


11

Yinelenen satır içeren bir excel sayfası var

ACDEF sütunları aynı ise bir satırı kaldırmak istiyorum (Yinelenenleri hesaplarken B'yi yoksay, ancak bir satırı kaldırırken kaldır)

Şu anda karşılaştırma sırasında ve silme sırasında B'yi yok sayar.


Önce ve sonra istenen bir ekran görüntüsü ekleyebilir misiniz? İhtiyacın olanı resmetmek için uğraşıyorum (özür dilerim)
Dave

Yani A, C, D, E, F sütunlarındaki yinelenen değerler, yinelenenin ilk örneğini koruyarak tüm satır silinmesine neden olur mu? A1, A2 ile eşleşir, ancak C2, C3 ile eşleşirse 2. satır silinir mi?
Raystafarian

Yanıtlar:


18

Excel 2013'te

  1. Tüm Verileri Seç
  2. Veri Sekmesi -> Kopyaları kaldır'ı seçin
  3. Verilerinizde sütun başlıkları varsa 'Sütunlarımda başlıklar var' seçeneğini işaretleyin.
  4. Karşılaştırmada kullanmak istemediğiniz tüm sütunların işaretini kaldırın
  5. tamam tuşuna basın

Bitti


Hayır, bu diğer satırlara benzer satırları arar. Ben de düşündüm, ama bu farklı bir soru için bir çözüm :)
Garrulinae

@Garrulinae Ne diyorsun, bunun nasıl çalışmadığını açıklayabilir misin? OP'nin sorusuna doğru cevap gibi görünüyor.
TheCrazyProgrammer

@TheCrazyProgrammer - Buna 2 yıl sonra bakıldığında, OP'nin " ACDEF sütunları aynıysa bir satırı kaldırmak istiyorum " sorusunun iki farklı şekilde yorumlanabileceğini görebiliyorum. Bu sütunların bu satırdaki birbiriyle aynı olması anlamına geldim . Bu yanıt, bu satırdaki sütunlardaki değerlerin başka bir satırla aynı olup olmadığı anlamına gelir . Geriye dönüp bakıldığında, bu varsayım özellikle doğru cevap olarak işaretlendiği için doğru gibi görünmektedir.
Garrulinae

@Garrulinae Gotcha. Şimdi cevabınızı gördüm ve anladım. Bir yan notta, OP'nin (ve benim) gerektirdiği işlevselliğin Excel'de basit bir düğme olarak var olmasına şaşırıyorum, ancak googling size bir an için bu cevaptan şüphe duyduğum karmaşık şeyler yapan bir sürü makale veriyor.
TheCrazyProgrammer

@TheCrazyProgrammer, benim de bir yan notum var - Sadece bu cevabı yayınlayan OP olduğunu fark ettim! Açıkçası doğru cevap, ama sorunun daha açık olmadığı bir utanç.
Garrulinae

1

Sizi doğru anladıysam, satır 1 ve 2 verildiğinde, yalnızca A1 = A2, C1 = C2, D1 = D2, E1 = E2 ve F1 = F2 ise 2. satırı silmek istersiniz.

Ben de bunu buldum. Muhtemelen daha kısa olabilir ama hile yapar:

Sub DeleteDuplicate()
Dim current As String
ActiveSheet.Range("A1").Activate
Do While ActiveCell.Value <> ""
    current = ActiveCell.Address
    ActiveCell.Offset(1, 0).Activate
    Do While ActiveCell.Value <> ""
        If ((ActiveSheet.Range(current).Value = ActiveCell.Value) And (ActiveSheet.Range(current).Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value) And (ActiveSheet.Range(current).Offset(0, 3).Value = ActiveCell.Offset(0, 3).Value) And (ActiveSheet.Range(current).Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value) And (ActiveSheet.Range(current).Offset(0, 5).Value = ActiveCell.Offset(0, 5).Value)) Then
            ActiveSheet.Rows(ActiveCell.Row).Delete
        Else
        ActiveCell.Offset(1, 0).Activate
        End If
    Loop
    ActiveSheet.Range(current).Offset(1, 0).Activate
Loop
End Sub

Bunun yaptığı, ActiveCell'i değerlendirilmekte olan Satır'a bir işaretçi olarak kullanarak ve "orijinal" Satır Hücresini geçerli değişkende saklayarak kalan tüm satırlar arasında döngü yapmaktır . Döngü sona erdiğinde, akımın altındaki Hücre etkinleştirilir ve iç değerlendirme döngüsü yeniden başlar.

Bir yere bulaşırsam bana söylemekten çekinmeyin :)


1

Bu formülü her satıra ekleyin, örneğin; G sütununda:

=IF(AND(A2=C2,A2=D2,A2=E2,A2=F2),"DELETE ME","")

Bu şöyle bir sonuç verecektir:

A   B   C   D   D   F   G
-   -   -   -   -   -   -
x   o   x   x   x   x   DELETE ME
x   x   x   x   x   o   
x   x   x   x   x   x   DELETE ME
x   o   o   x   x   x   

Ardından G sütununda 'Beni SİL' yazan satırlar için bir filtre oluşturun ve silin.


0

@ Gokhancelik1

Fikrinizi ilham olarak kullandım. Bir sürü satır vardı ve istediğim bir sütunun yinelenen değerleri içeren satırları silmek oldu. Bu sütunda yinelenenleri kaldır seçeneğini kullanırsam, satırın tamamı değil yalnızca o sütundaki verileri kaldırır. Tablodaki tüm 2. ve 3. satırları silmek istedim. Yani, ne yaptım yeni bir sütun yaptı ve ilk satırın değerini boş bıraktı ikinci ve üçüncü satırda beni silin. Ve sonra sadece o sütunun ilk üç satırının değerlerini kopyaladım (tüm satırı değil) ve tablonun tüm sütununa yapıştırdım. Şimdi, tüm sütunun her 2. ve 3. satırında "beni sil" vardı. Sonra sadece bu sütunun değerlerini sıralamak ve silmek beni içeren tüm satırları silmek zorunda. Her 2., 3. ve 4. ya da 2., 3., 4. ve 5. ya da her birini silmek istiyorsanız aynı çözümü kullanabilirsiniz ...

Umarım birine yardım eder ....


2
Ne dediğini tam olarak anlamıyorum. Yerine açıklayan ne yaptığını şunları yapabilirsiniz göstermek bize eskiden ne formül (ler) ve bazı örnek verileri sunulacak ve bu veriler üzerinde nasıl cevap eserlerini göstermek?
Scott
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.