Excel - Porovnání dvou sloupců a odstranění duplikátů

Matematické nebo logické operace nelze provádět ručně na listech aplikace Excel, které obsahují velké množství dat, protože by to trvalo příliš dlouho. Ale Excel je efektivní kancelářský softwarový program, který umožňuje automatickou manipulaci s daty, prostřednictvím makra nebo kódu programu VBA. Chcete-li porovnat dva sloupce a odstranit duplikáty v aplikaci Excel, makro může být napsáno tak, aby logické nebo matematické porovnání sloupců a odstranit řádky obsahující duplicitní data. Dobře napsané makro aplikace Excel může úkol provést rychle a přesně. Je snadné porovnat dva sloupce a odstranit duplicity v aplikaci Excel.

  • Problém
  • Řešení
  • Poznámka

Problém

Potřebuji makro pro tabulku aplikace Excel, která bude porovnávat řádky založené na dvou buňkách a najít všechny duplikáty.

V tomto příkladu jsou první dva sloupce - A a B - ty, které musí být jedinečné. Makro by mělo obsahovat pouze řádky, které jsou v obou sloupcích perfektní. Takže v tomto příkladu by měl být označen pouze pátý řádek, protože je to přesná shoda pro výše uvedený řádek.

Příklad:

 Col A Col B Col C Col D 00001 AAAA1 xxxx rrrr 00001 BBBB1 xxxx xxxx 00001 BBBB2 rrrr rrrr 00002 AAAA1 rrrr xxxx 00002 AAAA1 rrrr xxxx 00003 AAAA1 xxxx rrrr 

Řešení

Toto řešení změní data ve vaší tabulce, takže se ujistěte, že jste uložili záložní kopii.

Nejdříve je třeba data zkombinovat do sloupců A a B, aby se dala srovnávat jako celek. Chcete-li to provést, zadejte do prázdné buňky na konci prvního řádku dat (v tomto příkladu používáme řádek 2 - změňte podle potřeby):

 = A2 a B2 

Zkopírujte tento vzorec pro celou tabulku.

Nyní spusťte makro níže. V tomto ukázkovém kódu se předpokládá, že jste zapsali výše uvedený vzorec do sloupce E. Změňte kód podle potřeby.

Upozornění: Toto makro odstraní řádky, takže je důležité se ujistit, že jste před testováním vytvořili kopii záložní kopie.

 Subtext () Dim j jako celé číslo, k jako celé číslo, r jako rozsah j = rozsah ("E2") Konec (xlDown) .Row Pro k = j 2 kroky -1 MsgBox k Nastavit r = rozsah (buňky (k, "E"), Buňky (k, "E"). Konec (xlUp)) Pokud WorksheetFunction.CountIf (r, Buňky (k, "E"))> 1 Pak Buňky (k, "E") EntireRow. Smazat Konec Pokud Další k Konec Sub 

Poznámka

Díky venkat1926 za tento tip na fóru.

Předchozí Článek Následující Článek

Nejlepší Tipy