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

Hulp met macro

Status
Niet open voor verdere reacties.

Pat01

Gebruiker
Lid geworden
31 mei 2008
Berichten
40
Hallo,

om te beginnen, ik weet helemaal niks van hoe macro's werken in XLS maar heb de vraag of iemand me kan vertellen of en hoe ik een macro kan opmaken om het volgende te doen:

- de cellen in kolom A bevatten een unieke ID
- de cellen in kolom B bevatten een waarde oplopend van laag naar hoog
- in kolom C zou ik dan steeds een soort van ranking willen zien die loopt van 1 tm n, afhankelijk van hoevaak een unieke ID voorkomt

een andere uitleg, waar ik hetzelfde mee bedoel als hierboven
- a1 tm a5 bevatten allemaal dezelfde unieke ID; ID1. b1 tm b5 bevatten oplopende waarden van laag naar hoog, maakt niet zoveel uit wat die zijn
- a6 tm a8 bevatten allemaal dezelfde unieke ID; ID2. b6 tm a8, bevatten oplopende waarden van laag naar hoog
- in c1 zou ik dan de waarde 1 willen hebben, c2 : 2, c3:3 etc
- in c6 moet eigenlijk weer opnieuw begonnen worden met tellen omdat het een nieuwe unieke ID bevat. c6 moet dus weer de waarde 1 hebben, c7 de waarde 2 en c8 de waarde 3


Hoop dat het bovenstaande een beetje duidelijk is en iemand me kan vertellen wat ik moet doen om een dergelijke macro op te zetten. Nogmaals, ik heb echt geen enkel benul van macro's dus graag zo simpel mogelijk....

Alvast bedankt!
 
Volgens mij is jouw vraag oplosbaar met formules, zonder macro's.
Plaats anders een helder voorbeeldbestand.
 
Volgens mij is jouw vraag oplosbaar met formules, zonder macro's.
Plaats anders een helder voorbeeldbestand.

Zie bijlage, de getallen in kolom C die in het rood gemarkeerd staan zou ik graag "automatisch" berekend hebben waarbij dus rekening wordt gehouden met de unieke ID uit kolom A

voorbeeld ranking.jpg
 
In C2
Code:
=AANTAL.ALS(A$2:A2;A2)
En kopiëren naar beneden.
Werkt ook als kolom A niet gesorteerd is.
 
In C2
Code:
=AANTAL.ALS(A$2:A2;A2)
En kopiëren naar beneden.
Werkt ook als kolom A niet gesorteerd is.

Toch nog een extra uitdaging..... Stel dat in kolom ook waarden staan en ik wil die formule alleen toepassen als de waarde in kolom groter is dan 0. Ik heb het geprobeerd door eerst via filters de 0 waarden eruit te filteren maar dan telt ie die wel mee bij de ranking. Dus ik wil ergens iets toevoegen dat als de waarde in kolom D groter is dan 0 dan wil ik de bovenstaande formule toepassen, anders wil ik de waarde uit kolom D hebben.
 
Zoiets?

=ALS(D2>0;AANTAL.ALS(A$2:A2;A2);D2)

Als ik dat doe dan is de ranking gebasseerd op het totaal aantal unieke ID's en krijg ik nergens een ranking 1 te zien. Zie bijlage voor wat ik bedoel. In het rood de waarden met de formule zoals voorgesteld, in het groen de ranking zoals ie zou moeten zijnvoorbeeld ranking.jpg
 
Probeer het zo eens:
Code:
=ALS(D2<=0;D2;AANTALLEN.ALS(A$2:A2;A2;D$2:D2;">0"))
 
Laatst bewerkt:
Probeer het zo eens:
Code:
=ALS(D2<=0;D2;AANTALLEN.ALS(A$2:A2;A2;D$2:D2;">0"))

Helemaal goed, super bedankt, gaat me zo ontzettend veel tijd schelen dit.

Kan ik nog ergens uitleg vinden over wat er nu precies gebeurd door deze formules toe te passen= Tweede vraag, maar dat is echt als het niet teveel moeite is, hoe kan ik de hele rij waar de ranking 0 staat vervolgens in het oranje krijgen en de rij met ranking 1 in het groen? Dat is namelijk hoe de originele export vanuit de tool waar de data vandaan komen ze in XLS geeft, maar geen idee of dit heel simpel te doen is.

In ieder geval hartelijk dank voor je hulp Timshel!
 
Het Office-pakket bevat een uitstekende helpfunctie (F1). De beschrijving van de functie AANTALLEN.ALS die je daar vindt is beter dan ik hier kan geven.
Om cellen te kleuren op basis van waarde kun je gebruik maken van Voorwaardelijke Opmaak. Kijk hier eens: http://excel-spreadsheet.nl/voorwaardelijke-opmaak/
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan