• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Dubbele getallen aangeven

  • Onderwerp starter Onderwerp starter HJ25
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

HJ25

Gebruiker
Lid geworden
30 jan 2013
Berichten
304
Ik wil graag dat wanneer ik een rij met getallen heb, bijvoorbeeld A1:A10 dat er dan aangegeven wordt of, en hoe vaak er dubbele getallen instaan. Ik heb al een vraag van iemand anders gevonden alleen kom ik er op die manier niet uit hoe deze formule precies moet worden.

Een antwoord op die vraag was de volgende formule:
=COUNT(B5:B12) - SUM(IF(FREQUENCY(B5:B12;B5:B12)>0;1))

Omdat deze in het engels is en ik de nederlandse versie heb werkt deze niet. Door de namen voor de formules te vertalen dacht ik dat het de volgende formule moest worden:
=AANTAL(A1:A10)-SOM(ALS(INTERVAL(A1:A10;A1;A10)>0;1))

Helaas werkt deze niet. Excel geeft namelijk aan dat er teveel argumenten zijn ingevoerd. Iemand enig idee hoe deze formule wel gaat werken?

P.S. Ik gebruik nu nog Excel 2003, binnenkort Excel 2010. Maakt dit nog uit voor het wel of niet kunnen gebruiken van deze formule?
 
Laatst bewerkt:
Als je data in A1:A10 staan, zet dan bijvoorbeeld deze formule in B1:B10:
Code:
=AANTAL.ALS($a$1:$A1;A1)
Let op de $-tekens. Je krijgt dan naast elke waarde te zien hoe vaak deze tot dan toe in de lijst voorkomt. Heb je bijvoorbeeld in A1:A5 staan: 10 20 10 30 20, dan verschijnt als het goed is in B1:B5 de reeks 1 (1e keer 10,) 1 (1e keer 20), 2 (2e keer 10), 1 (1e keer 30), 2 (2e keer 20), etc.
 
Je zou ook deze eenvoudiger formule kunnen gebruiken in B1:B10:
Code:
=AANTAL.ALS($A$1:$A$10;A1)
Die telt telkens het aantal keer dat de waarde in de kolom A staat. Als er dan allemaal enen verschijnen, dan zitten er geen dubbele waarden in. Als er een 2 achter je getal in kolom A staat, betekent dit dat de waarde 2x vookomt in de lijst (je ziet dan bij beide keren de 2 erachter staan).
Door het aantal enen te tellen in kolom B weet je hoeveel unieke getallen er in de lijst in kolom A staan.
Code:
=aantal.als($B$1:$B$10;1)
 
Je zou ook deze eenvoudiger formule kunnen gebruiken in B1:B10:
Code:
=AANTAL.ALS($A$1:$A$10;A1)
Die telt telkens het aantal keer dat de waarde in de kolom A staat. Als er dan allemaal enen verschijnen, dan zitten er geen dubbele waarden in. Als er een 2 achter je getal in kolom A staat, betekent dit dat de waarde 2x vookomt in de lijst (je ziet dan bij beide keren de 2 erachter staan).
Door het aantal enen te tellen in kolom B weet je hoeveel unieke getallen er in de lijst in kolom A staan.
Code:
=aantal.als($B$1:$B$10;1)

Dat is niet helemaal wat ik bedoel... Ik wil eigenlijk gewoon dat wanneer het getal "1" in een bepaald bereik dubbel staat dat er een "1" komt te staan. Wanneer getal "1" er dubbel staat, maar ook getal "2" er dubbel staat (dus dat er 2 verschillende getallen er dubbel in staan) dat er een "2" komt te staan. Wanneer er dan 3 getallen dubbel in staan moet er een 3 komen te staan enzovoort. Kortgezegd: het aantal getallen dat dubbel voorkomt moet gegeven worden.
 
Neem de formule waarin het aantal keren dat een getal voorkomt in het hele bereik wordt geteld. Het aantal enen geeft het aantal unieke waarden; het aantal niet-enen geeft het aantal dubbele of meervoudig voorkomende getallen aan. Het aantal 2-tjes geeft het aantal dubbele getallen aan, dus het (aantal 2-tjes) / 2 is het aantal paren. Het (aantal 3-tjes) / 3 geeft het aantal tripels (Stel er zitten drie tienen en drie zevens in je lijst, dan komt er achter elke tien en achter elke zeven een 3 te staan, in totaal 6 drieën. Dus dan heb je 6 / 3 = 2 groepen van drie.
 
Neem de formule waarin het aantal keren dat een getal voorkomt in het hele bereik wordt geteld. Het aantal enen geeft het aantal unieke waarden; het aantal niet-enen geeft het aantal dubbele of meervoudig voorkomende getallen aan. Het aantal 2-tjes geeft het aantal dubbele getallen aan, dus het (aantal 2-tjes) / 2 is het aantal paren. Het (aantal 3-tjes) / 3 geeft het aantal tripels (Stel er zitten drie tienen en drie zevens in je lijst, dan komt er achter elke tien en achter elke zeven een 3 te staan, in totaal 6 drieën. Dus dan heb je 6 / 3 = 2 groepen van drie.

Door deze formule krijg je dus een extra rij naast de rij met getallen? Eigenlijk moet er in één cel onder die rij komen te staan hoevaak er een dubbel getal in de rij erboven staat...
 
De formule die ik er nu voor gebruik is de volgende:
=AANTAL.ALS($A$1:$A$10;1)>1)
Wanneer het getal "1" vaker dan 1x voorkomt in A1:A10 dan komt er een 1 te staan. Om dit voor de getallen 1 en 2 te doen moet ik de volgende formule gebruiken:
=(AANTAL.ALS($A$1:$A$10;1)>1)+(AANTAL.ALS($A$1:$A$10;2)>1)

Als ik dit voor de getallen 1 t/m 10 en ook nog voor 11 letters wil doen wordt de formule echt super lang. Dit moet toch korter kunnen??
 
Jouw vertaalde formule bevatte 1 klein foutje: namelijk een ';' ipv een ':'

=AANTAL(A1:A10)-SOM(ALS(INTERVAL(A1:A10;A1;A10)>0;1))

Formule moet zijn
=AANTAL(A1:A10)-SOM(ALS(INTERVAL(A1:A10;A1:A10)>0;1))

Bovenstaande formule werkt overigens niet als getallen vaker dan 2 keer voorkomen, ook met letters gaat het niet goed
 
Laatst bewerkt:
Jouw vertaalde formule bevatte 1 klein foutje: namelijk een ';' ipv een ':'

=AANTAL(A1:A10)-SOM(ALS(INTERVAL(A1:A10;A1;A10)>0;1))

Formule moet zijn
=AANTAL(A1:A10)-SOM(ALS(INTERVAL(A1:A10;A1:A10)>0;1))

Ja hij doet het! Geweldig! Bedankt!

Nog één vraagje: is dit ook mogelijk in combinatie met letters? Dat de formule dus kijkt of cijfers en/of letter dubbel staan weergegeven?
 
Zoals al toegevoegd aan vorige post: formule werkt niet als getallen vaker dan 2 keer voorkomen, ook met letters gaat het helaas niet goed.
Als getallen vaker dan 2 keer voorkomen (driedubbel, vierdubbel etc) kun je deze formule gebruiken: =AANTAL(ALS(INTERVAL(A1:A10;A1:A10)>1;1)).
Een oplossing incl letters heb ik op dit moment nog niet
 
Deze formule telt het aantal paren, (door de =2 in de formule en daarna /2). Dus {10, 20, 30, 10, 30, 40, ..} geeft 2 als resultaat (de twee paren 10,10 en 30,30)
Code:
=SOM(ALS(AANTAL.ALS(A1:A10;A1:A10)=2;1;0))/2
Dit is een zgn. matrix-formule. Als je 'm geplakt of ingetikt hebt moet je niet Enter doen, maar Ctrl-Shift-Enter.
Je kunt 'm aanpassen door =2 en /2 te wijzigen in =3 resp. /3 om het aantal keren te bepalen dat een waarde er 3x instaat etc.
 
Lege cellen worden niet meegeteld: twee lege cellen worden niet als twee dezelfde "invoer" gezien.
 
Deze formule telt het aantal paren, (door de =2 in de formule en daarna /2). Dus {10, 20, 30, 10, 30, 40, ..} geeft 2 als resultaat (de twee paren 10,10 en 30,30)
Code:
=SOM(ALS(AANTAL.ALS(A1:A10;A1:A10)=2;1;0))/2
Dit is een zgn. matrix-formule. Als je 'm geplakt of ingetikt hebt moet je niet Enter doen, maar Ctrl-Shift-Enter.
Je kunt 'm aanpassen door =2 en /2 te wijzigen in =3 resp. /3 om het aantal keren te bepalen dat een waarde er 3x instaat etc.

Perfect!!! Thanks!!
 
Is deze formule ook aan te passen, of is er een andere formule, die hetzelfde aangeeft maar die ook werkt als er ipv alleen een "A" bijvoorbeeld opeens "A/C" in een cel staat?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan