• 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 waarden weergeven

Status
Niet open voor verdere reacties.

mariannevanh

Terugkerende gebruiker
Lid geworden
14 dec 2004
Berichten
2.085
Ik heb een tabel waarin - naast een datum - ook getallen staan. De datum moet er wel in blijven staan, maar is voor de zoekopdracht niet van belang.
Nu zoek ik me te pletter naar een formule die me PER REGEL vertelt: als er een getal twee keer voorkomt, welk getal is dat dan?
Zie het voorbeeld in veld Z19.

(De werkelijke tabel is 73.000 regels lang)

Vriendelijke groet,
Guido
 

Bijlagen

  • HM_20200326.xlsx
    10,7 KB · Weergaven: 41
Matrix.

Ned.
Code:
=ALS.FOUT(KLEINSTE(ALS((NIET(IS.EVEN(KOLOM(A1:X1)))*(AANTAL.ALS(A1:X1;A1:X1)>1));$A1:$X1;"");1);"")
Eng.
Code:
=IFERROR(SMALL(IF((NOT(ISEVEN(COLUMN(A1:X1)))*(COUNTIF(A1:X1,A1:X1)>1)),$A1:$X1,""),1),"")
 
ik krijg die formules niet aan de praat (ze geven max 1 oplossing per regel), dus hier een eenvoudige poging met vba: anders gebruik je een draaitabel
 

Bijlagen

  • HM_20200326 svp.xlsm
    17,4 KB · Weergaven: 29
Laatst bewerkt:
Kleine aanvulling op die van Harry:

Code:
=ALS.FOUT(KLEINSTE(ALS((IS.ONEVEN(KOLOM($A1:$X1))*(AANTAL.ALS($A1:$X1;$A1:$X1)>1));$A1:$X1;"");[COLOR="#FF0000"]KOLOM(B1)[/COLOR]);"")

Ik zag dat in een rij meerdere dubbele waarden voor kunnen komen. Daarom de 1 vervangen door KOLOM (B1). Nu kun je naar rechts doortrekken om eventuele andere dubbele te vinden.
 
@sylvester, ik had daar ook last van. Heb de waarden in een ander bestand gezet en toen deed hij het wel.
 
Beter?
Code:
=ALS.FOUT(MODUS(ALS(NIET(IS.EVEN(KOLOM(A1:X1)));A1:X1;""));"")
 
Er zitten inderdaad meerderen in.
Formules werken hier feilloos trouwens.


73000 rijen is overigens veel teveel voor een matrix.
 

Bijlagen

  • per rij.xlsx
    11,7 KB · Weergaven: 36
Laatst bewerkt:
Ze werken inderdaad perfect. Die eerste wat je maakte met die aanpassing naar kolom B1 vind ik persoonlijk nog de beste:thumb:
 
Lees mijn laatste regel in mijn vorig schrijven eens. ;)
 
voor 73.000 rijen mag je al iets meer moeite doen :d
Bovendien, zoals opgemerkt, hij toont alle dubbele
Code:
Sub MijnDubbelen2()
   sn = Sheets("Blad1").Range("A1").CurrentRegion   'inlezen gegevens
   Set sca = CreateObject("System.Collections.ArrayList")   'aanmaak gesorteerde arraylist
   For i = 1 To UBound(sn)                       'alle rijen aflopen
      For j = 1 To UBound(sn, 2) Step 2          'enkel de oneven kolommen toevoegen aan sca
         sca.Add sn(i, j)
      Next
      
      sca.Sort                                   'sorteren
      a = sca.toarray                            'naar array lezen
      l = -1000000000#                           'zeer kleine startwaarde
      s = ""                                     'string leegmaken
      For j = 0 To UBound(a) - 1                 'in een loop alle waarden aflopen en kijken of de volgende gelijk was en niet gelijk aan de vorige
         If a(j) = a(j + 1) And a(j) <> l Then s = s & "|" & a(j): l = a(j)   'zo ja, toevoegen aan string en laatste aanpassen
      Next
      
      s1 = s1 & "\" & Mid(s, 2)                  'verzamelstring
      sca.Clear                                  'sca leegmaken
   Next
   
   a2 = Split(s1, "\")                           'verzamelstring splitten
   Sheets("Blad1").Range("AB1").Resize(UBound(a2) + 1).Value = Application.Transpose(a2)   'wegschrijven
End Sub
 
Laatst bewerkt:
Bij de eerste formule die ik maakte had ik niet door dat er meerdere dubbelingen in konden zitten.

Deze matrix als alternatief voor het doorvoeren naar rechts, mocht iemand minder dan 73000 rijen te verwerken hebben.
Code:
=ALS.FOUT(KLEINSTE(ALS((IS.ONEVEN(KOLOM($A1:$X1))*(AANTAL.ALS($A1:$X1;$A1:$X1)>1));$A1:$X1;"");1+SOM(AANTAL.ALS($A1:$X1;$Y1:Y1)));"")
 
Laatst bewerkt:
ik was meer getriggerd door de 2e helft van die zin, een draaitabel !!!
Wat was het plan ? Ik kon er me niets bij bedenken.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan