Avatar billede Bette Juniormester
20. december 2017 - 15:56 Der er 8 kommentarer

Fjerne unikke værdier i Excel 2010

Jeg har en stor kundeliste, som er fyldt med dubletter, men jeg ønsker ikke at fjerne dem automatisk. Jeg har brug for en liste med alle dubletter og kun dubletterne.
Jeg kan sagtens finde ud af at finde dubletterne via betinget formatering, men hvordan fjerner jeg de unikke værdier?

Hvis det ikke kan lade sig gøre, så er jeg nødt til at sortere enkeltvis på alle de kolonner(parametre), hvor der kan være dubletter:
- Kundenummer
- Kundenavn
- Cvr. nr.
- EAN-nummer
- samt adressen
og det kan blive en langsom affærre.
Avatar billede xl-Enthusiast Ekspert
20. december 2017 - 16:51 #1
Hvis du har dine data i A1:A21 og nedefter kan du bruge følgende i B1 og nedefter:

=IF(COUNTIF($A$1:A1;A1)=1;"x";"")
Herefter kan du udtrække de unikke til kolonne C ved hjælp af denne matrixformel i C1:

=IFERROR(INDEX($A$1:$A$20;SMALL(IF($B$1:$B$20="x";ROW($A$1:$A$20)-CELL("row";$A$1:$A$20)+1);ROWS($1:1)));

Kopier ned til C20.

Kender du matrixformler?
Hvis ikke så husk ved indtastning i C1 at holde Ctrl og Shift nede før tryk på Enter. Herved sætter Excel automatisk {} omkring formlen.

Hvis dansk Excel
COUNTIF = TÆL.HVIS
IFERROR = HVIS.FEJL
INDEX = INDEKS
SMALL = MINDSTE
IF = HVIS
ROW = RÆKKE
ROWS = RÆKKER
CELL = CELLE
Avatar billede Bette Juniormester
20. december 2017 - 19:10 #2
Jeg kan desværre ikke få det til at virke.
1) Den første formel giver kun blanke felter
2) Den næste vil Excel slet ikke acceptere. Mangler der ikke en slutning på formlen?
Først får jeg besked om at der mangler en parentes. Når jeg sætter en ekstra højreparentes på, så får jeg at vide, at der er for få argumenter.
3) Jeg skal ikke kun finde dubletter i en kolonne, men i mindst 4 kolonner. Er det her så løsningen?
Avatar billede xl-Enthusiast Ekspert
20. december 2017 - 19:54 #3
Avatar billede xl-Enthusiast Ekspert
20. december 2017 - 20:12 #4
Alternativt, hvis du har dine data i A2:A20 kan du bruge denne matrixformel
i F2 (hjælpekolonne ikke nødvendig)

=IFERROR(INDEX($A$2:$A$21;MATCH(0;COUNTIF($F$1:F10;$A$2:$A$21);0));"")

hvis du har dansk version, så:

=HVIS.FEJL(INDEKS($A$2:$A$21;SAMMENLIGN(0;TÆL.HVIS($F$1:F10;$A$2:$A$21);0));"")
Avatar billede jens48 Ekspert
20. december 2017 - 20:18 #5
Måske skulle du definere hvad en dublet er først. Skal blot et af felterne i de 4 (eller flere) kolonner forekomme 2 gange for at du kalder det en dublet? Eller skal kombinationen af samtlige fire celler gå igen før der er tale om en dublet. I sidste tilfælde vil jeg foreslå du lægger de 4 kolonner sammen med en formel à la

=A1&B1&C1&D1

og så bruger xl-Enthusiastens forslag til at finde ud af om det er en dublet
Avatar billede Bette Juniormester
20. december 2017 - 21:58 #6
En dublet i denne sammenhæng er, hvis et af felterne i nogen af kolonnerne forekommer 2 gange eller flere. Og jeg har mange kolonner

Problemet er følgende: 2 firmaers kundelister skal samles i en.
1) Gamle kundenumre starter med 1, 2, 3 osv. Det gælder i begge firmaer og derfor kan jeg ikke bare frasortere på dublet af kundenumre.
2) Nye kundenumre er enten et telefon eller mobilnummer, men det er ikke nødvendigvis et firmas hovednumre. Det kan være f.eks. være det direkte nummer til en medarbejder. Derfor kan der være flere kundenumre for den samme virksomhed
3) Der er fejl/afvigelser i kundenavne. F.eks er der oprettet en konto på både mand og kone. Der er også firmanavne ikke er helt ens på de 2 lister.

Og sådan fortsætter det hele vejen igennem alle kolonnerne.

Så hvis jeg skal lave en matrix, så skal de laves på mange kolonner.

xl-Enthusiast:
Jeg kan godt få din formel til at virke på 20 rækker, men jeg kan ikke få den kopieret til bunden af listen.  Og hvordan kæder jeg den sammen så jeg får på minimum 6 kolonner på en gang?
Avatar billede xl-Enthusiast Ekspert
21. december 2017 - 07:37 #7
Kan du ikke uploade filen (gerne anonymiseret) til Dropbox og give eksempler på ønskede resultater?
Avatar billede finb Ekspert
21. december 2017 - 09:20 #8
1.
Overvej at bruge en database fremover ! Med
datavalidering ved indtastning/indlæsning !

2.
Indtil da ville jeg skrive en vba, der finder LIGHEDER i
Jens'  =A1&B1&C1&D1 og lægger dem i array.
Den sub vil ikke finde alt, men en hel del.

3.
Overførsel til database kan godt ske løbende i små bidder,
efterhånden som kunderne ekspederes.
Jeg var med til at scanne masser papir,
man scannede først en kundes papir, når
kunden faktisk var aktiv.
Efterhånden var alt scannet.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
Stort CIO-interview: Lemvigh-Müllers milliard-omsætning er blevet digital