U slučaju da se pitate kako usporediti 2 stupca podataka koji imaju milijunske retke i izdvojiti jedinstvene vrijednosti među oba stupca, trebali biste pročitati ovaj članak. Koristit ćemo VBA kôd za usporedbu dva stupca podataka i pokazati razliku u sljedeća dva stupca.
Pitanje: U stupcima A i B. postoji više vrijednosti. Želim da makro provjeri više od 40 k redova podataka u oba stupca, a zatim izvuče popis jedinstvenih unosa iz svakog stupca u sljedeći stupac, tj. Stupce C & D respektivno. U ovom primjeru uzimam samo 40 redaka uzoraka podataka.
Izvorno pitanje možete pronaći ovdje
Slijedi snimak podataka:
Za usporedbu popisa dva stupca, moramo slijediti korake u nastavku za pokretanje VB uređivača:
- Kliknite karticu Developer
- Iz grupe kodova odaberite Visual Basic
- Kopirajte donji kod u standardni modul
Sub PullUniques () Dim rngCell As Range Za svaku rngCell u rasponu ("A2: A40") If WorksheetFunction.CountIf (Range ("B2: B40"), rngCell) = 0 Zatim Range ("C" & Rows.Count). End (xlUp) .Offset (1) = rngCell End If If Next Za svaku rngCell u rasponu ("B2: B40") Ako WorksheetFunction.CountIf (Raspon ("A2: A40"), rngCell) = 0 Zatim Range ("D" & Rows.Count) .End (xlUp) .Offset (1) = rngCell End If Next End Sub
- Gore navedena makronaredba je spremna za pokretanje; ili možemo pritisnuti tipku F5 -ako ste trenutno na ekranu uređivača Visual Basic -ili možemo koristiti tipke prečaca "ALT + F8", odaberite makronaredbu i kliknite gumb Pokreni
- Jedinstveni popis iz stupaca A & B automatski će se generirati u stupcima C & D
Objašnjenje koda:
U gornjem kodu koristit ćemo IF funkciju zajedno s For petljom kako bismo dobili rezultat.
- Proglašavamo Dim rngCell As Range; svrha deklariranja rngCell kao raspona je da dodijelimo uzorku raspon "A2: A40" s posebnim imenom, tj. "rngCell" u našem primjeru
- Za svaku rngCell u rasponu ("A2: A40"); provjerit ćemo svaku ćeliju u "rngCell" s uvjetom
- Ako je WorksheetFunction.CountIf (Raspon ("B2: B40"), rngCell) = 0 Zatim; ovaj redak koda koristi funkciju COUNTIF VBA za provjeru raspona kriterija B2: B40 s kriterijima rngCell jednak je nuli, tada će se u stupcu C vrijednost spremljena u rngCell spremiti
- Slično tome, izvest ćemo Za svaku petlju za stupac B i izdvojiti jedinstvene vrijednosti u stupcu D
Zaključak: Iz svakog stupca možemo dobiti jedinstveni popis teksta ili vrijednosti; naziv zaglavlja stupca C (Rezultati - postoji na popisu 1, ali ne i na popisu 2) & stupca D (rezultati - postoji na popisu 2, ali ne i na popisu 1). U slučaju da imamo sličan zahtjev, ali je broj stupaca veći od dva, potrebno je prilagoditi kôd kako bismo dobili rezultat.
Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku.
Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web mjesto e -pošte