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

TOP 4 zonder gebruik van de Filter

Status
Niet open voor verdere reacties.

Humadgen

Gebruiker
Lid geworden
16 aug 2006
Berichten
251
Hallo,

Ik loop tegen het volgende probleem op.
Ik heb een score formulier en daarop staan 6 uitslagen van een team.
Alleen de vier hoogste scores moeten worden meegenomen in de totaalscore van het team. Met de filter kan ik natuurlijk heel eenvoudig de top 4 laten zien, maar alle 6 de scores moeten op het formulier zichtbaar blijven en naast de 6 waardes moet de top 4 zichtbaar worden.

In de bijlage zie je drie situaties die zich zouden kunnen voordoen (GEEL in KOLOM A) and de waardes die ik wil meenemen in kolom B (Groen).
Zoals het nu in Kolom A en B staat, zo wil ik het uiteindelijk ook gewoon laten zien.

In de kolommen ernaast heb ik een poging gedaan om de hoogste scores te identificeren, en dat lijkt te lukken in de eerste situatie, maar bij de 2 volgende voorbeelden loopt deze methode stuk omdat er teveel gelijke scores zijn.

Kan iemand me helpen met een formule of code die de TOP 4 scores wel in Kolom B weg kan zetten?

Alvast bedankt
Humadgen
 

Bijlagen

Met
Code:
=ALS(RANG(A2;A$2:A$23)>4;"";RANG(A2;A$2:A$23))
krijg je een Top 4. Uiteraard de formule doortrekken naar beneden.

Of
Code:
=ALS(RANG(A2;A$2:A$23)>4;"";A2)
om de punten te herhalen.
 
Laatst bewerkt:
Bijgevoegd een poging die gebruik maakt van twee hulpkolommen:

In kolom B wordt met behulp van
Code:
=AANTAL.ALS($A$2:$A$7;">"&A2)
(en naar beneden doortrekken)
een rangorde bepaald van de scores. (let op, voor een ander team het bereik $A$2:$A$7 aanpassen). Overigens kan dit waarschijnlijk net zo goed met de =RANG(...-functie, daar had ik tot vijf minuten geleden nog nooit van gehoord. (rdg1314: dank!)

In kolom C:
Code:
=ALS(B2<4;A2;"")
worden alle waarden meegenomen die in kolom B een rangorde hebben gekregen van 0, 1, 2 of 3 (i.g.v. functie =RANG dus de rangen 1 t/m 4).

Vervolgens in kolom D:
Code:
=ALS(AANTAL($C$2:C2)<5;C2;"")
(en deze naar beneden doortrekken)
Hiermee wordt een waarde uit kolom C gekopieerd als er tot aan die regels niet meer dan 4 voorkwamen.

Benieuwd of dit is wat je zocht, groenten, Marcel
 

Bijlagen

Laatst bewerkt:
Hoi rdg1314 en Marcel79

Beiden bedankt voor jullie bijdrage. de RANG (in mijn geval RANK omdat ik met engelstalig EXCEL werk) functie was mij ook niet bekend.

De oplossing van rdg1314 is hetzelfde als de eerste kolom van Marcel79, maar was een mooie start. De oplossing van Marcel79 doet precies wat het moet zijn.
Dank jullie wel.
:thumb::thumb::thumb::thumb::thumb::thumb::thumb::thumb:

Grtnx
Humadgen
 
Volgende formule in B2 en doortrekken naar beneden.
Bij de overgang naar situatie 2 en 3 wel de correcte bereiken wijzigen.

Code:
=ALS(EN(RANG(A2;$A$2:$A$7)<=4;AANTAL($B$1:B1)<4);A2;"")

PS. In situatie 2 begrijp ik wel de reden niet waarom de eerste 16 (cel A13) niet wordt gekozen, maar pas de laatste 16 (cel A15).
 
Laatst bewerkt:
Ik was iets te snel met het sluiten van mijn vraag want ik heb toch nog een probleem ontdekt.
Als ik in de oplossing van Marcel79 drie of meer scores zet die niet het hoogste zijn, dan worden de eerste 4 scores gepakt (dus de hoogste score worden dan over het hoofd gezien.)
Zie mijn nieuwe bijlage.
Kunnen jullie er nog eens je hoofd op breken?
Thanks

De laatste oplossing van Finch heb ik nog niet kunne proberen, want ik ken de Engelse tegenhanger niet van AANTAL. (Ik dacht dat het COUNT was, maar dat pakt het niet. (Kun je die misschien in een EXCEL bijlage zetten, dan converteerd deze automatisch naar Engels)

Humadgen
 

Bijlagen

Kun je de functie 'LARGE' niet gebruiken?
 

Bijlagen

*buigt het hoofd*
Volgens mij is dat 'm!

En ik maar moeilijk lopen doen... :o
 
Ook nu weer bedankt voor alle snelle reacties.
De LARGE functie was me ook al aangedragen. Op zich geeft deze inderdaad de top 4, maar ik wil graag de hoogste scores achter de oorspronkelijke score hebben staan:

21 21
20 20
15 15
14
23 23
13

in plaats van

21 23
20 21
15 20
14 15
23
13

Ik wou mijn vraagje dus nog even open houden. Grtnx
Humadgen
 
Hoi Finch

Ook jij bedankt, maar bij jou oplossing gebeurt hetzelfde als bij Marcel79,
Als ik drie keer een getal invul dat op de plekken 4-5-6 of 3-4-5 in de ranking komt te staan, dan pakt hij de eerste vier scores op in de tabel (ongeacht of het de vier hoogste getallen zijn)

Ik blijf hopen......
Humadgen
 
Het kan zo simpel zijn
:eek:
Ik begrijp dat je nu de originele scores een hele kleine factor meegeeft (het rij nummer gedeeld door 1.000.000 waardoor je een uniek nummer krijgt en wat geen invloed heeft op de uitslag.)
:cool:

Lijkt helemaal goed te gaan.
Super bedankt
:thumb::thumb::thumb:

Humadgen
 
Finch (en anderen indien dat nog willen weten.)

Ik heb even zitten spelen met je oplossing en de eerste formule doet het ook al als hij er zo uitziet:
=IF(RANK(C2,$C$2:$C$7)<=4,A2,"")

de extra
AND(...... COUNT$G$1:G1)<4)....
in
=IF(AND(RANK(C2,$C$2:$C$7)<=4,COUNT($G$1:G1)<4),A2,"")
bleek overbodig

Maar nogmaals bedankt
Humadgen
:thumb:
 
Ik heb even zitten spelen met je oplossing en de eerste formule doet het ook al als hij er zo uitziet:
=IF(RANK(C2,$C$2:$C$7)<=4,A2,"")


Als je dan ook werkt met die kleine aanpassing aan de waardes werkt dat inderdaad, maar zonder die aanpassing kunnen er bij tie-gevallen meerdere waardes voorkomen dan 4.
 
Hoi Finch.

Duidelijk.
Het is ook de combinatie van de hulp kolom met het weglaten van de
AND(...... COUNT$G$1:G1)<4)....
Die het dan goed doet.

Fijn Weekend
Humadgen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan