Calcul sur plage glissante

9mlb-2015.xlsx (40.23 Ko)

bonjour,

étant fan de baseball, je me suis construit un tableau excel pour suivre les résultats du championnat.

je met "win" dans la cellule lorsque l'équipe gagne, "los" lorsqu'elle perd et "pos" lorsque le match est reporté.

j'aimerais ajouter à ce tableau un indicateur dans une ou deux cellules qui ne retiendrais que les dix derniers résultats de chaque équipe ("win" or "los") sans tenir compte des cellules vides ou des cellules "pos" et en prenant en compte les résultats que j'ajoute chaque jour évidement.

j'ai tenté moi-même quelques formules mais aucune ne marche car je pense que cela dépasse de beaucoup mes compétences.

si quelqu'un peut m'aider, je le remercie par avance.

Bonjour,

Sans doute faisable par formule mais elle risque d'être longue et complexe.

Proposition de fonction personnalisée en VBA. S'utilise comme une fonction native d'excel.

Alt+F11 pour voir le code dans Module1 (module Standard)

Syntaxe :

=dResultats(plage; resultat; nombre)

plage : plage de résultats à explorer

resultat : résultat à comptabiliser ("win" ou "los")

nombre : nombre de "win" ou "los" à explorer en partant de la fin

Ex :

=dResultats(K2:AJ2;"win";10)

Function dResultats(plage As Range, resultat As String, nombre As Long) As Long
    Dim v, i As Long, nb As Long
    v = plage.Value
    For i = UBound(v, 2) To 1 Step -1
        dResultats = dResultats - (v(1, i) = resultat)
        If v(1, i) = "win" Or v(1, i) = "los" Then nb = nb + 1
        If nb = nombre Then Exit For
    Next i
End Function

S'il y a moins de 10 win ou los le résultat partiel est retourné sans valeur d'erreur.

eric

17mlb-2015.xlsm (45.23 Ko)

merci pour cette réponse.

si quelqu’un à une formule à proposer je suis preneur aussi

merci à tous.

Rechercher des sujets similaires à "calcul plage glissante"