Excel : Dubbelen verwijderen, maar bepalen welke

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 08-05 00:07

heuveltje

KoelkastFilosoof

Topicstarter
Goedendag

Ik heb een tabel
voorbeeldje:
code:
1
2
3
4
5
6
Kolom A     Kolom B
1                 1
1                 2
1                 3
2                 1
2                 2


Nu wil ik eigenlijk alleen unieke waarde overhouden uit kolom a, met de hoogste waarde in kolom B

Dus dit
code:
1
2
3
Kolom A    Kolom B
1                3
2                2


Nu denk ik dat maar op te lossen door met een vba door het ding heen te loopen, en een x in een hulpkolom te zetten bij alles wat niet de hoogste waarde heeft.

Maar lijkt me dat dit toch vrij simpel zonder VBA zou moeten kunnen ?

Ik zit te kijken naar "dubbelen verwijderen "
maar ik krijg er geen vinger achter welke dan verwijderd worden. Als ik nu wist dat het altijd de eerste was, kon ik bijvoorbeeld sorteren op A,dan B en dan alle dubbele waardes weg laten gooien.

Maar misschien zit ik verkeerd te denken, is er een simpele combinaties van queries om dit te bewerkstellen ?

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d

Beste antwoord (via heuveltje op 10-04-2018 17:48)


  • Orion84
  • Registratie: April 2002
  • Laatst online: 09-05 22:00

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Gewoon aflopend sorteren op kolom B en daarna remove duplicates op kolom A. Excel behoudt voor zover ik weet altijd de bovenste regel, wat dus effectief de regel is met hoogste waarde in kolom B.

[ Voor 7% gewijzigd door Orion84 op 10-04-2018 16:21 ]

The problem with common sense is that it's not all that common. | LinkedIn | Flickr

Alle reacties


Acties:
  • +2 Henk 'm!

  • vegetoot
  • Registratie: Maart 2008
  • Laatst online: 29-04 19:27
Voeg een kolom C toe en bewaar alle waarden 1 uit die kolom, o.b.v. de volgende formule:
=ALS(MAX.ALS.VOORWAARDEN(B:B;A:A;A2)=B2;1;0)

Acties:
  • Beste antwoord
  • +2 Henk 'm!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 09-05 22:00

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Gewoon aflopend sorteren op kolom B en daarna remove duplicates op kolom A. Excel behoudt voor zover ik weet altijd de bovenste regel, wat dus effectief de regel is met hoogste waarde in kolom B.

[ Voor 7% gewijzigd door Orion84 op 10-04-2018 16:21 ]

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • +1 Henk 'm!

  • SmiGueL
  • Registratie: September 2005
  • Laatst online: 11:00
heuveltje schreef op dinsdag 10 april 2018 @ 16:15:
maar ik krijg er geen vinger achter welke dan verwijderd worden. Als ik nu wist dat het altijd de eerste was, kon ik bijvoorbeeld sorteren op A,dan B en dan alle dubbele waardes weg laten gooien.
Hier wordt alleen het bovenste getal bewaard, de rest (van de dubbelen dus) verwijderd.
B dus sorteren van hoog naar laag.


Volgens mij moet dit werken:

- Selecteer kolom A+B (dus eigenlijk alle gegevens)
- Gegevens --> Sorteren
- Sorteer nu op kolom B van hoog naar laag (Kolom A gaat nu door elkaar staan, maar dat is prima)
- Gegevens --> Duplicaten verwijderen
- Selecteer Kolom A.

Nu houdt je in kolom B de hoogste getallen over (omdat die bovenaan stonden vanwege het sorteren)

[ Voor 42% gewijzigd door SmiGueL op 10-04-2018 16:54 ]

Delidded 4770K 4.7GHz @ H220 || Gigabyte Z87X-UD4H || 16GB @ 2400MHz || Gigabyte GTX 760 || 2x128GB Samsung 830 @ RAID-0 & WD 3 TB || Iiyama XB2483HSU-B1 || Synology DS916+ 3x6TB + 120GB SSD Cache || Synology DS213+ 6TB backup


Acties:
  • 0 Henk 'm!

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 08-05 00:07

heuveltje

KoelkastFilosoof

Topicstarter
vegetoot schreef op dinsdag 10 april 2018 @ 16:17:
Voeg een kolom C toe en bewaar alle waarden 1 uit die kolom, o.b.v. de volgende formule:
=ALS(MAX.ALS.VOORWAARDEN(B:B;A:A;A2)=B2;1;0)
Hmm dit zou ideaal zijn, maar blijkbaar bestaat deze functie alleen in office2016. wij zitten nog op 2010 :(
Orion84 schreef op dinsdag 10 april 2018 @ 16:20:
Gewoon aflopend sorteren op kolom B en daarna remove duplicates op kolom A. Excel behoudt voor zover ik weet altijd de bovenste regel, wat dus effectief de regel is met hoogste waarde in kolom B.
Wel ?
Dat was mijn eerste plan.
Maar Ik dacht net getest te hebben dat hij niet altijd de bovenste regel pakte.

* heuveltje gaat nog wat testcases bouwen

Update. Lijkt inderdaad zo te zijn. dat hij de bovenste regel overhoud,
Geen idee waarom dat eerder niet zo leek.

[ Voor 33% gewijzigd door heuveltje op 10-04-2018 17:47 ]

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d


Acties:
  • 0 Henk 'm!

  • vegetoot
  • Registratie: Maart 2008
  • Laatst online: 29-04 19:27
heuveltje schreef op dinsdag 10 april 2018 @ 16:37:
[...]


Hmm dit zou ideaal zijn, maar blijkbaar bestaat deze functie alleen in office2016. wij zitten nog op 2010 :(
Dan wordt 't met formules wel 'n beetje een draak inderdaad.
Mocht je draken leuk vinden, kun je deze proberen door te trekken vanuit C2 (uitgaande van kolomkoppen) tot 't einde van je set rijen:
=ALS(MAX(INDIRECT("B"&VERGELIJKEN(A1;A:A;0)&":B"&VERGELIJKEN(A1;A:A;1);1))=B1;1;0)
Edit: Voorwaarde is wel dat je dan op kolom A oplopend sorteert

Persoonlijk geef ik de voorkeur aan formules en sorteren boven autofuncties in Excel, omdat ze m'n werk beter controleerbaar maken :)

[ Voor 16% gewijzigd door vegetoot op 10-04-2018 18:04 ]


Acties:
  • 0 Henk 'm!

  • ScoeS
  • Registratie: Juni 2011
  • Laatst online: 05-10-2023
Ik heb ergens in een VM een excel formule voor je die uit een kolom X alle unieke waardes "filtert", en deze in kolom Y weer neerzet. Had dit zelf afgelopen week nodig, en heb lang gezocht en geprobeerd.

Geen array, en zonder macro's.

Het vervolgens van hoog naar laag sorteren moet lukken door van kolom Y een "table" te maken, en deze
te laten autosorteren van hoog naar laag.

Dit rekent allemaal door zodra de sheet zelf ergens wordt geupdate.

Wil ik het zooitje even voor je opzoeken?

[ Voor 0% gewijzigd door ScoeS op 10-04-2018 18:07 . Reden: Toevoeging ]


Acties:
  • 0 Henk 'm!

  • _WouterB
  • Registratie: November 2012
  • Laatst online: 08-05 14:32
Of gewoon met een draaitabel (pivot table).
Kolom A bij Rijen, Maximum van kolom B bij de waarden.

Afbeeldingslocatie: https://www.dropbox.com/s/uyrkgt8mrodiyav/Screenshot%202018-04-10%2018.05.54.png?dl=1

[ Voor 5% gewijzigd door _WouterB op 10-04-2018 18:09 ]


Acties:
  • 0 Henk 'm!

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 08-05 00:07

heuveltje

KoelkastFilosoof

Topicstarter
ScoeS schreef op dinsdag 10 april 2018 @ 18:06:
Ik heb ergens in een VM een excel formule voor je die uit een kolom X alle unieke waardes "filtert", en deze in kolom Y weer neerzet. Had dit zelf afgelopen week nodig, en heb lang gezocht en geprobeerd.

Geen array, en zonder macro's.

Het vervolgens van hoog naar laag sorteren moet lukken door van kolom Y een "table" te maken, en deze
te laten autosorteren van hoog naar laag.

Dit rekent allemaal door zodra de sheet zelf ergens wordt geupdate.

Wil ik het zooitje even voor je opzoeken?
Ik ben opzich wel benieuwd hoe dit dan gewerkt heeft. Want ik zou denken dat dat met formules niet kan :?
Echter was dit een eenmalig iets, en ik heb het nu al opgelost met dubbel sorteren, en dan "dubbelen verwijderen"

Dus besteed er niet teveel moeite aan :P

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d


Acties:
  • 0 Henk 'm!

  • ScoeS
  • Registratie: Juni 2011
  • Laatst online: 05-10-2023
NP, got it:

=IFNA(LOOKUP(2;1/(COUNTIF($F$7:F8;$D$7:$D$45)=0);$D$7:$D$150);"")

D7 tm D150 zijn bij mij een verzameling cellen waarin data automatisch wordt gekopieerd en opslagen, vanaf een ander tabblad. Omdat bij elke update van de sheet deze waarde wordt gekopieerd naar de eerst lege cel in kolom D, en ik de sheet vaak update, komen er in D7 - D150 waardes, die tussen 1 en X maal kunnen voorkomen. Dit is niet handig, maar een gevolg van hoe de rest van de formules werken.

Bovenstaande formule staat in F7, en zet vanaf F7 naar beneden de lijst uit D7 - D150 neer, waarbij alleen de unieke waardes dus overblijven.

Maak je van F7 en verder naar beneden een table, kun je deze laten (auto) sorteren van hoog naar laag, wat elke keer plaatsvindt als je de sheet update.

Ik heb helaas 0,0 rechten op de PC waarop dit wordt gebruikt, vandaar deze "workaround" in excel.

[ Voor 11% gewijzigd door ScoeS op 10-04-2018 18:45 ]

Pagina: 1