J'ai une feuille ("DATA"), où j'ai une table avec 3 colonnes et 162 ensembles de données (lignes) + l'en-tête. Voilà comment le tableau ressemble à:Comment calculer la moyenne basée sur la condition dans Excel en utilisant vba
J'ai besoin pour calculer la moyenne de la colonne C (« État de formation [de%] »), basé sur le nom du site dans la colonne A (« Site »).
J'ai créé une macro qui crée une table dans une nouvelle feuille ("Vue d'ensemble"), où chaque site est indiqué une seule fois, et maintenant je dois calculer la moyenne de "Statut de formation" pour chaque site.
Table Finale:
Comment pourrais-je obtenir les bonnes valeurs dans la table finale sur la base des données de la table d'origine, plus considérer la condition que la moyenne doit être calculée pour chaque site prénom? Bien sûr, il n'y a pas la même quantité d'ensembles de données pour chaque site (par exemple "BRU-Logistique" a 3 ensembles de données et "FRA-Logistique" a 15 ensembles de données).
J'ai trouvé quelques codes vba, mais honnêtement, je n'ai vraiment pas compris la logique derrière et je n'ai pas réussi à passer mon besoin.
Eh bien, mon code n'est pas complet. J'ai juste essayé de commencer, mais je me suis perdu.
Sub Average()
Dim rng As Range
Dim LastRow As Long
Dim r1 As Long, r2 As Long
Dim lNoRows As Long
LastRow = Sheets("DATA").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Set rng = Sheets("DATA").Range("A2:C" & LastRow)
lNoRows = rng.Row.Count
For r1 = 1 To lNoRows
If rng(r1, 1) = rng(r2, 1) And r1 = r2 Then
End Sub
Merci beaucoup!
Utilisez AVERAGEIF() –
Veuillez partager votre code afin que nous puissions vous aider à identifier le problème. Merci –