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

De beste 5 uit 7 rondes

Status
Niet open voor verdere reacties.

JieCie

Gebruiker
Lid geworden
15 jun 2011
Berichten
71
Forum,
Wie kan mij helpen met een stukje automatiseren.
Het volgende, we spelen een competie van 7 speelronde waarvan de 5 beste speelrondes opgeteld het eindresultaat geeft.
Speel je 7 ronde’s, worden de 2 slechtste geschrapt
speel je 6 ronde’s word de ronde die je niet gespeeld hebt + 1 slechtste uitslag geschrapt.
speel je 5 ronde’s worden er geen wedstrijden geschrapt
Speel je maar 4 of minder ronde’s doe je niet meer mee voor het kampioenschap.
Nu gaat het om het uitzoeken van de 5 beste avonden en de optelling hiervan( kolom AN en AO)Bekijk bijlage Clubkampioen2010.zip
kan dit wat makkelijker met eventueel een auto opmaak van de slechtste ronde’s
Hoop dat de uitleg duidelijk is , en bij voorbaat dank.
En als dit te doenis kan het dan ook makkelijk gewijzigd worden in b.v. de beste 8 uit 12 rondes

Groetjes, JieCie .
 
Er vanuitgaande dat de waardes in het bereik A1 t/m A7 staan.
Code:
=ALS(AANTAL(A1:A7)<5;"";SOMPRODUCT((A1:A7>=GROOTSTE(A1:A7;5))*(A1:A7)))

Met vriendelijke groet,


Roncancio
 
Roncancio,

Kijk even in de bijgesloten file, de waarde staan in verschillend kolommen.
De waardes bestaan uit een kolom met de gewonnen wedstrijden en de ander kolom de daarbij bnehorende punten

Wel bedankt voor je snelle reactie, maar daar kan ik niets mee doen.

Vriendelijk greot, JieCie
 
Voor de punten een hulpbereik gemaakt, die je kunt verbergen. Ik had hem nodig om met =KLEINSTE te kunnen werken. Ik heb ook even een paar controles laten staan, maar die kun je verwijderen. Het is wel een lange formule geworden.
 

Bijlagen

Vergelijkbaar met Rob's aanpak (hulpbereik), maar toch net anders. In cel BJ9 kun je eenvoudig kiezen of je de 5 beste wil tellen, of 4 beste, etc...
 

Bijlagen

Laatst bewerkt:
@Wher, Ziet er mooi uit, had ik niet kunnen bedenken :o Maar het aantal is volgens #1 afhankelijk van het aantal gespeelde wedstrijden, dus kan per persoon verschillen.
 
Inderdaad, da's een ander paar mouwen. Bovendien kun je voor een gespeelde ronde een negatieve waarde krijgen, en voor een niet-gespeelde krijg je 0, wat dus beter is dan een negatieve waarde? Dit had ik over het hoofd gezien.
 
De formules in het bestand in post #5 zijn aangepast, nu worden de nul-resultaten als slechtste gerangschikt, zelfs nog achter een negatief resultaat.
 
Wher en Rob,

Wat een formules, dat kan ik niet even verzinnen .

Bedankt vast voor de moeite, dit is een eind op weg.
Maar waar aan voorbij gegaan,of niet duidelijk uitgelegd, in eerste instantie gaat het om het aantal gewonnen wedstrijden(kolom AN) en bij een gelijk aantal gewonnen wedstrijden dan wordt er gekeken naar het aantal behaalde punten.
Nog even voor de duidelijkheid een korte uitleg over Jeu de Boule
We spelen in een ronde 3 wedstrijden win je de wedstrijd met 13-7 dan heb je 1 gewonnen en 6 punten (13-7) verlies je met 7-13 heb je 0 gewonnen en -6 punten (7-13) daar komt het negatief getal vandaan.
De uitslagenvan de 3 wedstrijden worden bij elkaar opgeteld en zo heb je de uitslag van 1 ronde.

Maar wat een formules, dat kan ik niet even verzinnen
 
Ik snap het nog steeds niet: AN is 'geschrapt', AJ is 'totaal'. Maak eens in een voorbeeld helder hoe dat gelijke aantal een rol speelt en wat er dan moet gebeuren. En wat er gebeurt als iemand een uniek aantal gewonnen wedstrijden heeft.

Ik begrijp nu wel hoe iemand aan negatieve punten kan komen. Nooit eerder gezien zo.
 
Rob,
Competitiekampioen wordt degene met de meeste gewonnen wedstrijden, zijn er spelers met een gelijk aantal gewonnen wedstrijden, dan geldt als volgende voorwaarde het hoogst aantal behaalde punten zie in de file speler2 13-66 en speler 3 13-65
Totaal :kolom AJ is allen maar voor een overzicht in de lopende competitie.
Het gaat om het eindreslutaat na het schrappen Kolom AN.
Ik kijk nu per speler eerst naar de niet gespeelde wedstrijden die worden eerst geschrapt, dan naar de slechtste rondes met de minste gewonnen wedstrijden, zijn er daar meerdere van dan kijk ik naar het minste aantal punten.
Die ronde kleur ik blauw als zijnde een schrap ronde , deze wordt dan niet in de eindstand meegenomen.
Eigenlijk is de geschrapte eindstand, de totaalstand - de slechtste rondes.(ik dacht dat dit wel duidelijk was)
(Mijn voorbeeld is helmaal goed zoals we het doen, alleen nu nog handmatig)

Jou vraag over een uniek aantal gewonnen wedstrijden begrijp ik niet, want je kan maar 3 wedstrijden winnen per ronde.
Ja en de negatieve punten moet je maar zien als het doelsaldo bij het voetballen.
1 wedstrijd gaat tot 13 punten

In jou oplossing ging je van punten uit, en niet van gewonnen wedstrijden.
ook kreeg je afwijkend resultaat b.v. bij speler 25 omdat die in de 2e en 3e ronde wel gespeeld had, maar 0 punten gehaald had (dit kan)
in jou zienswijze ging er dan vanuit dat speler 25 die ronde niet gespeeld had.

Hopend dat er wat duidelijkheid is.

Groet Jie Cie
 
Sylvester,

Whow even snel gekeken , maar dit lijkt het wel te zijn.
Jou opmerking over persoon 23 klopt is een fout bij mij.(bij jou is het goed)
Zo zie je maar dat het handmatig werken toch niet 100% is.

Nog een vraagje, kan je in het kort uitleggen hoe dit werkt, en wat is telling .
Als ik dt toepas op b.v. 8 beste uit 12 moet ik dan allen de matrix bereik en het cijfer 5 aanpassen.

Vast bedankt, voor de tijd en de moeite.

Groet, JieCie
 
hallo JieCie
hier wat uitleg over hoe de function Telling werkt

Code:
Function Telling(Minimum As Integer, RondeUitslagen As Range)
    Dim Col As New Collection
'in deze collectie worden de ronde_waarden van een speler van hoog naar laag
'alleen als er gespeeld is ingevuld
    Dim Gewonnen As Range, Punten As Range
'dit zijn de tijdelijke pointers naar de uitslagen
    Dim Teller As Integer, T As Integer 'dit zijn de tellers voor de loops
    Dim Totaal(15) As Double
'deze variabele wordt gebruikt om deze functie een "matrix" terug te laten geven
'15 is te groot maar ik had hem gebruikt om de werking te testen (door er de beste uitslagen in te zetten)
    For Teller = 1 To RondeUitslagen.Count Step 4 'step 4 is omdat elke 4 kolommen een nieuwe ronde begint
        Set Gewonnen = RondeUitslagen(1, Teller)
' hier wordt de "pointervariabele" Gewonnen op het begin van een speelronde gezet
        Set Punten = RondeUitslagen(1, Teller + 1) 'punten wijst een oplaatsje verder
        If Not (Gewonnen = 0 And Punten = 0) Then 'hier staat: alleen als er gespeeld is
            If Col.Count = 0 Then
'als er nog niks in de collectie staat kan deze ronde toegevoed worden aan de collectie
                Col.Add item:=Gewonnen
'meer hoeft er niet in de collectie, er wordt alleen een pointer naar deze cel opgeslagen
            Else
'nu op de juiste plek (van hoog naar laag) de volgende uitslag plekken toe voegen aan de collectie
                For T = 1 To Col.Count
                    If Col(T).Value < Gewonnen Then
                        Col.Add item:=Gewonnen, before:=T
                        Exit For
                    ElseIf Col(T) = Gewonnen Then
                        If Col(T).Offset(0, 1) <= Punten Then
                            Col.Add item:=Gewonnen, before:=T
                            Exit For
                        End If
                    End If
                Next T
                If T > Col.Count Then Col.Add item:=Gewonnen
            End If
        End If
    Next Teller
'als er tewijnig ronden zijn gespeeld geef dan niets terug
    If Col.Count < Minimum Then Telling = "": Exit Function
'tel het gewensde aantal punten op (in dit geval 5)
    For T = 1 To Minimum
        Totaal(0) = Totaal(0) + Col(T)
        Totaal(1) = Totaal(1) + Col(T).Offset(0, 1)
    Next T
' hier wordt de hele matrix terug gegeven
    Telling = Totaal
End Function

ik moet nu weg

later meer

groet sylvester
 
hallo JieCie

ik ga gewoon verder:

als je de functie Telling niet begrijpt vraag het dan.

ik ben uit gegaan van 4 kolommen per uitslag.
als je dat aanhoud dan kun je uitbreiden zoveel als je wilt.
zorg wel dat het "minimum" niet groter wordt dan het aantal uitslagen.
dus 8 beste uit 12 is geen probleem.
de functie "Telling" zet de 12 uitslagen op volgorde en telt dan de 8 beste op.

als je hem in een ander bestand wil gebruiken moet je de functie kopiëren (het is gewoon tekst) en dan in dat nieuwe bestand een nieuwe module maken en de tekst van de functie daar plakken.
daarna is de functie te gebruiken.

het is een matix functie, dat wil zeggen: de functie geeft 2 antwoorden.
zet de functie in het juiste vakje. als dat werkt selecteer dan dat vakje en het buurvakje, ga naar de formulebalk en sluit dan af met ctrl/shift/enter tegelijk indrukken.
nu kun je weer de 2 vakjes selecteren en ge woon naar beneden kopiëren .

als er nog vragen zij hoor ik het wel.

groet sylvester
 
Laatst bewerkt:
Ik heb ook een oplossing met gewone Excel-formules.
Verder heb ik Voorwaardelijke Opmaak toegepast, om de kleurtjes automatisch te doen.
 

Bijlagen

Forummembers,

Allereerst bedankt voor de tijd, de moeite en het geduld om iemand te helpen daar ben er erg blij mee.
Dit is de eerste keer dat ik een vraag stel, en verwonder me om de snelle reacties dit vind ik super.

Ik ga even verder met Sylvester omdat ik dit erg goed vind.

Sylvester, ik denk dat het volgen van de functie iets te hoog is voor mij, maar ik wil me er wel verder in verdiepen.

We spelen nu een seizoen, en willen naar het spelen over een jaar vandaar ook de vraag van 8 uit 12 rondes.
Wat bedoel je met: zorg wel dat het "minimum" niet groter wordt dan het aantal uitslagen. waar staat dit in de functie.??
Als we naar 8 uit 12 gaan waar moet dan die 8 staan ??? is dat in de formule achter de telling i.p.v 5

Groet JieCie
 
Piet,
Ik heb het even geprobeerd, bij de 1e speler staan 2 wedsdtrijden met 1 gewonnen, als ik een andder uitslag veranderde in 0 gewonnen met een min aan tal punten dan werkte het niet.(de twee slechtste wedstrijden bleven zo staan sttan ondanks dat ik een uitslag invulde van 0 / -23

Bij speler twee vulde ik een ander uitslag als de slechtste en het werkte perfect die nieuwe (slechte ) uitslag kreeg een blauwe kleur en de minst slechte telde weer mee.(perfect)

Dus ik denk dat een iets in zit met wedstrijden met 0 gewonnen.

Groetjes JieCie
 
hoi JieCie

als je de kleurtjes met een macro'tje wil kan dat wel hoor

wel even melden als je dat wilt

groet sylvester
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan