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

Ontdubbelen zonder de ontdubbel-functie van Excel te gebruiken

Status
Niet open voor verdere reacties.

tomswaelen

Gebruiker
Lid geworden
8 dec 2004
Berichten
349
Ik ben bezig aan een soort moeder-Excel, waar je rauwe gegevens in kunt plakken en die dan zelf een filtering maakt en formules toepast.

Stel, ik heb volgende gegevens

Code:
DIENST    DOSSIER
A              1
B              2
C              3
A              4
A              5
B              6


Hoe kan ik ervoor zorgen dat mijn selectie slechts één van de dossiers van dienst A en van dienst B selecteert? (TRUE/FALSE) Het maakt zelfs niet uit welke.

Normaalgezien zou je natuurlijk gewoon ontdubbelen op DIENST, maar als men vooraf moet gaan ontdubbelen, verslaat dat het nut van mijn moeder-Excelbestand.
 
Gewoon de het eerste dossier van dienst a en het eerste dossier van dienst b als resultaat geven.

Waarom denk je dat nieuwe code in vba sneller is dan de ingebouwde functies van excel?
 
En met welke formule zou ik dan doen? Ik heb gewoon één van de dossiers per dienst nodig, meer niet. Maakt niet uit welke. Dus een formule die TRUE geeft voor één dossier van dienst A, één van dienst B, enzovoort.

Het gaat niet om VBA, maar om een formule. Zoals ik al zei, ik maak een moeder-Excel die rauwe data moet filteren en verwerken. Als ik die rauwe data vooraf zelf moet gaan ontdubbelen, heeft mijn Excel minder nut.
 
Dat kan met formules volgens grootmoeders recept. :d

Voor het gemak heb ik de input in tabelvorm gegoten.
De oplossing in het lichtgroene gebied.

Aantal unieke dossiers in E2 (middels aangepast nummerformaat weergegeven als DOSSIER)
E3 is een matrixformule (invoer van de formule bevestigen met Ctrl+Shift+Enter), gekopieerd naar beneden t/m E12.
F3 is een simpele formule gekopieerd naar beneden t/m F12.

Code:
E2:=SOMPRODUCT(--(INTERVAL(VERGELIJKEN(Tabel1[DIENST];Tabel1[DIENST];0);VERGELIJKEN(Tabel1[DIENST];Tabel1[DIENST];0))>0))

E3 (matrixformule): =ALS(RIJEN(E$3:E3)>$E$2;"";INDEX(Tabel1[DIENST];KLEINSTE(ALS(INTERVAL(VERGELIJKEN(Tabel1[DIENST];Tabel1[DIENST];0);VERGELIJKEN(Tabel1[DIENST];Tabel1[DIENST];0));RIJ(Tabel1[DIENST])-RIJ(Tabel1[#Kopteksten]));RIJEN(E$3:E3))))

F3: =ALS(E3="";"";VERT.ZOEKEN(E3;Tabel1;2;0))
 

Bijlagen

Dat moet ik toch eens even nader bestuderen :-)

In elk geval bedankt voor de oplossing!
 
Nu je toch aan de studie bent.
Code:
=ALS.FOUT(INDEX(Tabel1[DIENST];KLEINSTE(ALS(VERGELIJKEN(Tabel1[DIENST];Tabel1[DIENST];0)=RIJ(Tabel1[DIENST])-2;RIJ(Tabel1[DIENST])-2);RIJ(A1)));"")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan