Comptage des victoires et des pertes (Microsoft Excel)
Graham a, dans Excel, créé une matrice de noms de joueurs pour sa ligue.
Les cellules B2: H2 contiennent les noms des joueurs, tout comme les cellules A3: A9. À chaque intersection de la matrice, Graham place un «W» ou un «L» pour indiquer si le match a abouti à une victoire ou une perte pour le joueur de chaque rangée. Si un joueur joue une autre personne plus d’une fois, alors une cellule contient un « W » ou « L » pour chaque partie. Graham se demandait quelle formule pouvait être utilisée, à partir de la colonne I, pour indiquer le nombre de victoires et de défaites pour chaque joueur.
Il existe plusieurs façons d’obtenir les informations souhaitées. La première consiste à utiliser ce type de formule:
=LEN(SUBSTITUTE(B3&C3&D3&E3&F3&G3&H3,"L",""))
Cette formule calcule le nombre de caractères non-L dans la ligne 3 – en d’autres termes, le nombre de victoires. Pour ce faire, il concatène le contenu de B3: H3, puis utilise la fonction SUBSTITUTE pour supprimer tous les L. Cela laisse les W, qui sont comptés par la fonction LEN. Vous pouvez également utiliser la fonction CONCATENER, de la manière suivante, pour le même résultat:
=LEN(SUBSTITUTE(CONCATENATE(B3,C3,D3,E3,F3,G3,H3),"L",""))
Pour calculer le nombre de pertes, remplacez simplement «L» dans chaque formule par «W».
Vous pouvez également utiliser une formule matricielle, qui vous permet de spécifier une plage de cellules à examiner, plutôt que de devoir spécifier chaque cellule:
=SUM(LEN(SUBSTITUTE(B3:H3, "L","")))
Cette formule matricielle, entrée en appuyant sur Maj + Ctrl + Entrée, renvoie le nombre de victoires (caractères W) dans la plage B3: H3.
Enfin, vous pouvez utiliser une fonction définie par l’utilisateur pour renvoyer les occurrences d’un caractère spécifique dans une plage donnée. La macro suivante fera l’affaire:
Function CharNums(r, chr) As Integer Dim c As Range Dim strX As String Dim J As Integer Application.Volatile CharNums = 0 For Each c In r.Cells strX = c.Value For J = 1 To Len(strX) If Mid(strX, J, 1) = chr Then CharNums = CharNums + 1 Next J Next c End Function
Pour utiliser la fonction, vous utiliseriez une formule comme celle-ci dans votre feuille de calcul:
=CharNums(B3:H3;"W")
La fonction renvoie le nombre de caractères W majuscules dans la plage.
Tous les autres caractères (y compris les caractères w minuscules) sont ignorés. Pour compter les pertes, remplacez simplement L par W dans la formule.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (3049) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:
lien: / excelribbon-Counting_Wins_and_Losses [Comptage des victoires et des pertes]
.