Calcul de moyennes dépendantes d'une autre variable

Le
rico
Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes environ ;
mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui, 0
non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque ligne/établissement,
j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4466741
Bonjour.
Avec les départements en A1:A20 et les valeurs 1 et 0 en B1:B20, formule de
la ligne 1 :
=SOMMEPROD(($A$1:$A$20¡)*($B$1:$B$20=1))/NB.SI($A$1:$A$20;A1)
à recopier vers le bas.
Cordialement.
Daniel
"rico"
Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes environ
;
mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui, 0
non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque ligne/établissement,
j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.




rico
Le #4466731
Merci beaucoup pour ton aide, je vais essayer ça!

Euh par contre c'est bizarre, je vois pas mon propre message (celui que tu
cites en dessous), c'est normal?
Désolé, j'y connais rien en newsgroup.

"Daniel" news:
Bonjour.
Avec les départements en A1:A20 et les valeurs 1 et 0 en B1:B20, formule
de

la ligne 1 :
=SOMMEPROD(($A$1:$A$20¡)*($B$1:$B$20=1))/NB.SI($A$1:$A$20;A1)
à recopier vers le bas.
Cordialement.
Daniel
"rico"
Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes
environ


;
mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui,
0


non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque
ligne/établissement,


j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.








Daniel
Le #4466701
Non, mais des fois, ça arrive...
Daniel
"rico"
Merci beaucoup pour ton aide, je vais essayer ça!

Euh par contre c'est bizarre, je vois pas mon propre message (celui que tu
cites en dessous), c'est normal?
Désolé, j'y connais rien en newsgroup.

"Daniel" news:
Bonjour.
Avec les départements en A1:A20 et les valeurs 1 et 0 en B1:B20, formule
de

la ligne 1 :
=SOMMEPROD(($A$1:$A$20¡)*($B$1:$B$20=1))/NB.SI($A$1:$A$20;A1)
à recopier vers le bas.
Cordialement.
Daniel
"rico"
Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes
environ


;
mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui,
0


non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque
ligne/établissement,


j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.












FFO
Le #4466691
Salut rico
J'ai bien une solution Macro dont voici le code
Soit
colonne A : les etablissements
Colonne b : les départements
Colonne c : les adoptions

Code :

For i = 1 To Range("B1").Offset(65535, 0).End(xlUp).Row
n = 0
r = 0
For Each c In Worksheets("Feuil1").Range([B1], [B1].Offset(65535,
0).End(xlUp))
If Range("B" & i) = c Then
n = n + 1
If c.Offset(0, 1) = 1 Then
r = r + 1
End If
End If
Next
Range("B" & i).Offset(0, 2) = r / n * 100
Next

Si pour 10 lignes c'est immédiat
pour 1000 lignes 20 secondes de traitement sont nécessaire soit prés de 4
minutes pour 11000 lignes

Peut être un peu long
Dis moi


Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes environ ;
mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui, 0
non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque ligne/établissement,
j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.





rico
Le #4466631
En fait la solution de Daniel marche bien visiblement. En réalité ma base
est beaucoup plus compliquée que ce que j'en ai dit mais c'était pour saisir
le principe.

Je ne m'y connais pas suffisamment en macros pour adapter celle-ci aux
autres contraintes qui me sont imposées par la base (il y a aussi des
années, les établissements ne sont pas présents sur toutes les années et des
tas d'autres complications dans le genre, je vais ajouter un conditionnel de
statut de l'établissement...). Je ne pourrai donc pas tester cette solution
à moins d'y passer beaucoup de temps.

Mais je tiens à vous remercier pour votre réactivité et la qualité de vos
réponses, merci beaucoup!

Rico

"FFO" news:
Salut rico
J'ai bien une solution Macro dont voici le code
Soit
colonne A : les etablissements
Colonne b : les départements
Colonne c : les adoptions

Code :

For i = 1 To Range("B1").Offset(65535, 0).End(xlUp).Row
n = 0
r = 0
For Each c In Worksheets("Feuil1").Range([B1], [B1].Offset(65535,
0).End(xlUp))
If Range("B" & i) = c Then
n = n + 1
If c.Offset(0, 1) = 1 Then
r = r + 1
End If
End If
Next
Range("B" & i).Offset(0, 2) = r / n * 100
Next

Si pour 10 lignes c'est immédiat
pour 1000 lignes 20 secondes de traitement sont nécessaire soit prés de 4
minutes pour 11000 lignes

Peut être un peu long
Dis moi


Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes
environ ;


mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui,
0


non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque
ligne/établissement,


j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.







rico
Le #4462201
Bonjour!

La formule marche donc toujours bien effectivement, mais je crois que j'ai
surestimé ma capacité à pouvoir la comprendre sans aide. Pourtant j'ai de
bonnes bases en calcul matriciel! Le problème (je crois) est que je ne
comprends pas bien le fonctionnement du "=" dans "$A$1:$A$20¡" et dans
"$B$1:$B$20=1".

Je dois réaliser la même opération mais en introduisant une distinction
entre public et privé (codé "public" ou "privé"). Je pense que je pourrai le
faire seul si je comprenais la formule mais j'ai besoin d'un peu d'aide je
crois.

Merci d'avance!

Erik

"Daniel" news:
Bonjour.
Avec les départements en A1:A20 et les valeurs 1 et 0 en B1:B20, formule
de

la ligne 1 :
=SOMMEPROD(($A$1:$A$20¡)*($B$1:$B$20=1))/NB.SI($A$1:$A$20;A1)
à recopier vers le bas.
Cordialement.
Daniel
"rico"
Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes
environ


;
mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui,
0


non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque
ligne/établissement,


j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.








Daniel
Le #4462151
Bonjour.
Dans "$A$1:$A$20¡", chaque cellule de la plage dans "$A$1:$A$20" est
comparée à A1. Le résultat est une matrice de valeurs VRAI ou FAUX selon le
résultat de la comparaison. Si la matrice résultante est multipliée, les
valeurs VRAI et FAUX sont transposées respectivement en 1 et 0. Une manière
simple de le visualiser est de mettre en surbrillance "$A$1:$A$20" dans la
barre des formules. Tu appuies ensuite sur F9 pour obtenir les valeurs
résultantes (cliques ensuite sur la croix rouge, ou appuie sur "Annul" pour
revenir à la formule initiale.
A ta disposition pour de plus amples explications.
Daniel
"rico" %
Bonjour!

La formule marche donc toujours bien effectivement, mais je crois que j'ai
surestimé ma capacité à pouvoir la comprendre sans aide. Pourtant j'ai de
bonnes bases en calcul matriciel! Le problème (je crois) est que je ne
comprends pas bien le fonctionnement du "=" dans "$A$1:$A$20¡" et dans
"$B$1:$B$20=1".

Je dois réaliser la même opération mais en introduisant une distinction
entre public et privé (codé "public" ou "privé"). Je pense que je pourrai
le
faire seul si je comprenais la formule mais j'ai besoin d'un peu d'aide je
crois.

Merci d'avance!

Erik

"Daniel" news:
Bonjour.
Avec les départements en A1:A20 et les valeurs 1 et 0 en B1:B20, formule
de

la ligne 1 :
=SOMMEPROD(($A$1:$A$20¡)*($B$1:$B$20=1))/NB.SI($A$1:$A$20;A1)
à recopier vers le bas.
Cordialement.
Daniel
"rico"
Bonjour!

je souhaiterais savoir si la chose suivante est possible :
je dispose d'une base de données d'établissements de 11000 lignes
environ


;
mes variables sont les suivantes :

Etablissement Département Adoption d'une mesure de sécurité (1 oui,
0


non)

Je souhaiterais ajouter une colonne : taux d'adoption moyen dans le
département : est-ce possible? (en gros, pour chaque
ligne/établissement,


j'aurais le taux d'adoption dans le département de l'établissement en
question).

Peut-on automatiser la tâche?

Merci d'avance pour votre aide!

Si je ne suis pas clair, n'hésitez pas à me le signaler ou demander des
précisions.












Publicité
Poster une réponse
Anonyme