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

Ranking maken met VERT. ZOEKEN

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

Cold

Gebruiker
Lid geworden
20 jul 2009
Berichten
132
Hi,

Ik probeer een ranking te maken van groot naar klein op basis van een score in de vorm van een getal. Met de functie GROOTSTE kan je zonder probleem de ranking maken om nadien met VERT. ZOEKEN de bij een bepaalde score horende naam in te voegen.

Maar het probleem is als er bepaalde namen dezelfde score hebben, dan gaat VERT. ZOEKEN in de fout en zet hij bij dezelfde score altijd de eerste naam die hij tegenkomt in de lijst van namen. Is hier een oplossing voor ?

In bijlage een bestand met een voorbeeld van het probleem.

Thx !
Cold
 

Bijlagen

Laatst bewerkt:
Kan geen bijlage toevoegen. :(
Bij het uploaden komt er een fout "unable to move/copy file".
Wat is er mis dan ?
 
Te groot? bestand kleiner maken (uitkleden/zip/rar) of probeer eens via mijnbestand.nl en hier de link te plaatsen.
 
Het bestand is nog geen 10 kb, dus te groot zeker niet.
 
Het lukt mij op dit moment ook niet om een andere bijlage te openen op de site, misschien is er met HM iets aan de hand.
 
Bijlage volgt nog zodra het uploaden weer werkt.
 
Met VBA kan ook...

Code:
Sub Macro1()

Range("B5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Sort Key1:=Range("B5"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
        
End Sub


en dan in de cellen daaronder verwijzen
 
Laatst bewerkt door een moderator:
Je andere topic is gesloten.

Hier een poging voor de punten toekenning.
Ik heb 1 hulpkolom gebruikt, die kan je verbergen of helemaal achteraan plaatsen. De getallen hiervan staan in een dynamische bereiknaam.

Succes,
 

Bijlagen

Ik snap niet waarom de andere vraag "Functie: KLEINSTE" gesloten is aangezien dat toch iets anders is dan bovenstaand topic. Anyway :)

Jullie zijn al héél erg bedankt voor de hulp. Het probleem van de ranking maken is opgelost, al heb ik het nog wel op een iets andere manier gedaan mede dankzij jullie inputs !

Dan het probleem van de "Kleinste functie". Kan iemand me uitleggen waarom de formule in mijn voorbeeld niet correct werkt ?

@ Robdgr of iemand anders die het kan uitleggen: Jouw oplossing werkt ook, maar kan je me nog even iets verduidelijken in verband met je formule (heb een deel eruit gekopiëerd. Wat is het doel van het rode gedeelte in de formule ?
ALS(B5=KLEINSTE(ALS($B$5:$B$12>0;$B$5:$B$12);3);20

Thx !
Cold
 
Het probleem van de ranking maken is opgelost, al heb ik het nog wel op een iets andere manier gedaan
Misschien kan je die oplossing ook delen, altijd prettig voor diegene die de zoekfunctie van het forum gebruiken.

Waarom je andere topic is gesloten weet ik niet, misschien had de mod ook het idee dat het een dubbele topic was.


Een formule waarin KLEINSTE(ALS( in voorkomt is een MATRIX-formule.
Een matrixformule sluit je af met CTRL+SHIFT+ENTER i.p.v. enter, excel zet dan zelf de { en de } om de formule heen.
(Niet over typen dus)

Het rode gedeelte doet eigenlijk niets ander dan kijken welke cellen er groter zijn dan 0 ( >0 ) en geeft alleen die cellen weer in de formule, waar de functie KLEINSTE er dan weer wat mee kan.

Succes,
 
Laatst bewerkt:
Aanvullend op Martin: in de formule wordt eerst de 0 afgevangen en daarna alles boven 0. Wegens de als daarin is een matrix nodig.
 
Ik heb vandaag een poging gedaan om dit probleem op te lossen met de formule van "robdgr" die in het gesloten forum (zie hieroven) gepost is, maar deze formule werkt blijkbaar niet foutloos. Zie voorbeeld bestand in bijlage.

Is het mogelijk om dit probleem op te lossen met deze formule ?

De oplossing van "tankyou" werkt foutloos, maar ik snap er niet veel van. :( Ik wil het ook zelf snappen voor in de tokomst...

Is er mischien ook een eenvoudigere oplossing voor dit probleem ?

Help !

Thx.
Cold
 

Bijlagen

Misschien verstandig als ik uileg wat er gedaan is in het bestand van post #10 zodat je het begrijpt en kan toepassen?
 
Dat zou super zijn als je dat wil doen ! Vooral ook de hulpkolom ropt bij mij veel vraagtekens op...

Sorry dat ik erover blijf doorgaan, maar ik denk dat we met de functie KLEINSTE toch kort bij de oplossing moeten zitten, en die functie is ook eenvoudig te begrijpen.

Cold
 
Oké, hier een poging om uit te leggen wat ik gedaan heb:

Als eerste: Excel heeft een prima functie om de 1e, 2e, 3e etc. plaats te bepalen met in jouw geval maar 1 nadeel: Gelijke getallen, hiervoor gebruik ik de hulpkolom.
De hulpkolom moet alle unieke getallen uit kolom B 1x weergeven en omdat ik niet weet hoeveel getallen dit zijn gebruik je een dynamische bereiknaam.
( en ja, ik weet het het is ook op te lossen met RIJ()/10000 en AFRONDEN )
Betreft de dynamische bereiknaam zou ik je adviseren om F1-Excel help te raad plegen. (wil ik later ook nog wel toelichten)
Cel F5 is de formule : KLEINSTE(B5:B12;1) en ik ga er even van uit dat je dit begrijpt
In F6 de volgende MATRIX-formule: =INDEX($B$5:$B$12;KLEINSTE(ALS(ISFOUT(VERGELIJKEN($B$5:$B$12;$F$5:F5;0));RIJ($B$5:$B$12)-4);1))
Deze is wat lastiger uit te leggen, kort gezegd :
Hij VERGELIJK(EN)T of de getallen van B5:B12 voorkomen in $F$5:$F5 voorkomen, zoniet IS het dus FOUT (ISFOUT)
en geeft hij het KLEINSTE rijnummer door van de getallen die die niet overeen komen. De rode 5 in de formule wordt met het "doortrekken" van de
formule automatisch 6,7, 8 etc. en vergelijkt hij B5:B12 met een groter wordend bereik in kolom F, bekijk de formules maar in F6 t/m F12.

Hierna is het alleen nog de punten bepalen en hiervoor heb ik de volgende formule gebruikt:
=KIEZEN(RANG(INDEX($B$5:$B$12;VERGELIJKEN($C18;$C$5:$C$12;0));Uniek;1);50;40;30;20;10;0;0;0;0;0;0;0;0;0;0;0)

De bereiknaam die ik heb gebruikt is UNIEK. Lees ook even bij F1-Excel help de info over INDEX en VERGELIJKEN.
De formule lees je van binnen naar buiten: VERGELIJK C18 (Antwerpen) met C5:C12 (alle plaatsnamen) en geef het regelnummer door waar Antwerpen staat.
INDEX geeft dan het bij behorende getal (0) retour waarmee RANG weer aan de slag gaat om de plaatsbepaling, 1e 2e 3e etc. - door de 1 achter UNIEK; doet
hij dit in omgekeerde volgorde, het minst aantal punten de 1e plaats.
Met die 1e plaats kan ik weer bij de functie KIEZEN terecht --> 1e plaats 50, 2e 40, 3e 30 etc. Omdat ik ook hier niet weet hoeveel je nodig hebt heb ik maar een
aantal extra nullen extra gebruikt.

Nu is uitleggen niet helemaal mijn "ding" maar ik hoop dat het een en ander duidelijk is geworden. Mocht je nog specifieke vragen hebben over onderdelen dan hoor ik ze graag.

Succes,
 
Dank u wel ! Maakt het al een stuk duidelijker.
Ik ga het uitproberen en moest er nog iets zijn, dan laat ik het weten.
Anders kan ik de vraag binnen enkele dagen afsluiten.

Thx!
Cold
 
@ Thankyou, bedankt voor de hulp, maar ik geef het op met jouw voorstel tot oplossing. Dit lijkt me echt te ingewikkeld.

Misschien moet ik maar eens een nieuwe topic starten, terug met een duidelijk voorbeeld. Misschien heeft er dan iemand een eenvoudiger idee om dit op te lossen. Bovenstaande discussie is eigenlijk een mix van 2 vragen geworden waardoor het voor nieuwe mensen niet meer te volgen is.

Cold
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan