• 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.

Zoekopdracht - negeer dubbele

Status
Niet open voor verdere reacties.

Stone52

Gebruiker
Lid geworden
11 dec 2004
Berichten
320
Hallo,

Ik ben op zoek naar een formule die uit een bekende range (bv blad1 / A1:Z1) alle waarden in een andere bekende range (bv blad2 / A1:Z1) zet.

Het lastige is dat ik geen dubbele waarde wil overnemen.

Wie weet raad ?
 
Kijk een onder data, filter, uitgebreid filter.
Hiermee kun je unieke records naar een ander blad kopieren (of verplaatsen).
 
Jan,


Dit is niet mijn bedoeling. Met de beschrijving die ik hiervoor gaf wil ik proberen om dynamische waarden uit de genoemde range over te halen via een formule waarbij de dubbele waarden genegeerd moeten worden.
 
Negeer dubbelen

Via onderstaande macro wordt gecontroleerd of er dubbele waardes voorkomen op het 1e werkblad.

Bijvoorbeeld:

Blad 1
A B C D E F G H I
1 q q w q w w y q y

Blad 2
A B C D E F G H I
1 q w y


Sub Macro1()
Dim Kolom As Single
Dim CKol As Single
Kolom = 1
Worksheets(2).Range("A1") = Worksheets(1).Range("A1")
While Worksheets(1).Cells(1, Kolom) <> ""
CKol = 1
While Worksheets(2).Cells(1, CKol) <> Worksheets(1).Cells(1, Kolom) And CKol <= Kolom
CKol = CKol + 1
Wend
If CKol > Kolom Then
Worksheets(2).Cells(1, Kolom) = Worksheets(1).Cells(1, Kolom)
End If
Kolom = Kolom + 1
Wend

End Sub


Ik hoop dat dit hetgene is wat je bedoelt.

Met vriendelijke groet,

Roncancio
 
Hoi Stone,

De meest eenvoudige oplossing is een extra rij invoegen met daarin de formule:

A99:Z99 =als(aantal.als($A$1:A$1;A$1)>1;"";Formule)

Formule is KOLOM() als je dezelfde volgorde wilt aanhouden als in je reeks A1:Z1;
Formule is AANTAL.ALS($A$1:$Z$1;"<="&A$1) als je de reeks A1:Z1 wilt sorteren op alfabetische volgorde.

In Blad2 zet je dan de formule:
A1:Z1 =als(Kolom()>aantal(Blad1!$A$99:$Z$99);"";index(Blad1!$A$1:$Z$1;kleinste(Blad1!$A$99:$Z$99;Kolom())))

Jeroen
 
Roncancio en Jeroen bedankt voor jullie reactie.

Nog even experimenteren. . . . . . ..... de oplossing van Jeroen heeft mijn voorkeur. Ik denk dat ik de oplossing nu heb.
 
Hoi Jeroen,

Zou je onderstaande voor mij nog een keer willen uitleggen en aan willen geven hoe het op mijn situatie toepasbaar is? Ik kan helaas je voorbeeld niet volgen.

Ik heb in kolom B 1756 cellen in gebruik met namen. Ik wil daaruit een lijst met unieke namen filteren (net zoals het autofilter of uitgebreid filter dat doet) en deze op een ander werkblad weergeven via een formule.

gr, Herman


De meest eenvoudige oplossing is een extra rij invoegen met daarin de formule:

A99:Z99 =als(aantal.als($A$1:A$1;A$1)>1;"";Formule)

Formule is KOLOM() als je dezelfde volgorde wilt aanhouden als in je reeks A1:Z1;
Formule is AANTAL.ALS($A$1:$Z$1;"<="&A$1) als je de reeks A1:Z1 wilt sorteren op alfabetische volgorde.

In Blad2 zet je dan de formule:
A1:Z1 =als(Kolom()>aantal(Blad1!$A$99:$Z$99);"";index(Blad1!$A$1:$Z$1;kleinste(Blad1!$A$99:$Z$99;Kolom())))

Jeroen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan