12. marts 2001 - 15:43Der er
22 kommentarer og 1 løsning
Sletning af dubletter...
Er der nogen der har et forslag til hvordan jeg kan slette alle dubletter i en liste. Jeg har en liste af tal og den er temmelig lang - jeg skal kun bruge de tal, som kun findes en gang i listen (rækkefølgen er ligemeget) ???????
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
En metode findes under data/filter/avanceret filter
Én anden metodemetode er at bruge betinget formatering. Jeg er gået ud fra, at data står i kolonne B.
1. Markér hele kolonne B (klik på bogstavet B) 2. Vælg Formatering > Betinget formatering 3. I \"Betingelse 1\" vælges \"Formel er\" 4. Skriv formlen =TÆL.HVIS($B:$B;B1)>1 5. Klik på knappen \"Formater\" og vælg et eller andet format. OK. OK.
Alle dubletter(og originaler) vil nu have det valgte format. Du sletter nu blot, som du har lyst til.
den er jeg med på, men selvom jeg kan få dem lavet om til et andet format, så skal de stadig slettes og listen er for lang til at jeg kan sidde og slette hver enkel.
Prøv denne her: (Forudsætter at din lange talrække står i kolonne A)
Marker hele A-kolonnen. I menuen vælges DATA->FILTER->AVANCERET FILTER Afmærk \"Kopier til et andet sted\" Under kopier til vælges hele B-kolonnen. Afmærk \"Kun unikke poster\" Tryk \"OK\"
Herved får du alle unikke poster i B-kolonnen. Bemærk, at den første række (A1) fungerer som overskrift, så for ikke at undgå, at tallet i A1 dupleres skal der anvendes en overskrift i celle A1.
janvogt>> Ja så får jeg alle unikke værdier, men jeg skal have dubletterne HELT VÆK! Jeg har to lister (den ene på 10000, den anden på 9000) - jeg skal bruge alle de værdier der kun findes i den ene! Dvs. jeg skal ende op med en liste på 1000!
Hvis vi tager udgangspunkt i, at du først laver en betinget formatering, hvor dine dubletter bliver med FED skrift, så kan du køre følgende makro efterfølgende.
God fornøjelse Flemming
Sub SletDubletter() Dim iX As Integer Dim iRow As Integer Dim rCell As Range
For Each rCell In Range(\"B1:B20\") If rCell = \"\" And rCell.Offset(1, 0) = \"\" And rCell.Offset(2, 0) = \"\" Then iRow = rCell.Row Exit For End If Next rCell
For iX = iRow To 2 Step -1 If Range(\"B\" & iX).Font.Bold = True Then Range(\"B\" & iX).EntireRow.Delete Next iX
Et filter må være udmærket. Hvis du filtrer til et nyt sted kan denne liste evt erstatte den gamle. En anden metode er at filtrere listen lokalt. Herefter er alle dubletter skjult. Dem skal du så have mærket op, så de kan slettes.
En måde kunne være at lave en \"dummy\" kolonne ved siden af dine data: Efter du har skjult dubletdata med filter vælger du cellerne i kolonnen ved siden af dine tal. Herefter vælger du kun synlige celler ved at bruge <F5>, speciel, kun synlige. Herefter trykker du F2 for at editere. Indtast \"1\" efterfulgt af CTRL ENTER (Alle valgte celler fyldes med 1). Vis alle rækker igen vha filtermenuen og sorter dine data efter dummykolonnen, hvorefter du er klar til at slette dubletdata.
Det kan også være, at jeg har læst forkert, det tyder mere på, at vi skal have gang i noget compare af de to lister, således vi kan der kan uddrages en liste over dem der eksisterer findes i den ene, men ikke den anden. Det har jeg lavet.
Smid din e-mail, så sender jeg det med det samme :-)
Tak for hjælpen allesammen! Flemmingdahl sendte en udvidelse til excel som løste problemet. Jeg syntes ikke rigtigt at det andet fungerede så godt!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.