écartype.si.ens [Résolu]

Signaler
Messages postés
26
Date d'inscription
mardi 4 août 2020
Statut
Membre
Dernière intervention
15 septembre 2020
-
Messages postés
498
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
22 septembre 2020
-
Bonjour,

J'utilise usuellement la formule, suivante pour calculer la moyenne sur une durée entre aujourd'hui - X années et aujourd'hui, dans une tableau ou les données évoluent de manière dynamiques :

=MOYENNE.SI.ENS(M:M;$L:$L ; "<=" & AUJOURDHUI() ; $L:$L ; ">=" & DATE(ANNEE(AUJOURDHUI()) -$Y$9 ; MOIS(AUJOURDHUI()) ; JOUR(AUJOURDHUI())))

J'aimerais faire la même chose avec un écart-type à la place d'une moyenne mais la formule n'existe pas et je ne sais pas coder en VBA.

Pouvez-vous m'aider à créer une formule similaire pour l'écart-type ?

1 réponse

Messages postés
498
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
22 septembre 2020
23
Bonjour,

A tester
=SIERREUR(ECARTYPE.STANDARD(SI(($L:$L<=$C$1)*($L:$L>=$D$1)*$M:$M=0;"";($L:$L<=$C$1)*($L:$L>=$D$1)*$M:$M));"")


Formule matricielle à valider par Ctrl+Maj+Entrée.
La formule s'entoure d'accolades {} si ok

et avec, pour alléger la formule
en C1 ou ailleurs : AUJOURDHUI()
en D1 ou ailleurs ta formule AUJOURDHUI()- x années que tu peux aussi écrire comme ceci :
=MOIS.DECALER(AUJOURDHUI();-12*$Y$9)


Attention formule lourde, plutôt que de prendre toute les colonnes L et M, limite les plages aux strict nécessaire L1:L1000 par exemple

Cordialement
Messages postés
498
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
22 septembre 2020
23 >
Messages postés
26
Date d'inscription
mardi 4 août 2020
Statut
Membre
Dernière intervention
15 septembre 2020

Bonjour,

Si tu as Excel 2013 ou supérieur, essaie cette formule légèrement simplifiée et avec un test pour le #N/A (SI.NON.DISP)
=SIERREUR(ECARTYPE.STANDARD(SI(($L$1:$L$20<=$C$1)*($L$1:$L$20>=$D$1)*(SI.NON.DISP($M$1:$M$20;0))=0;"";($M$1:$M$20)));"")

Adapte les plages L1:L20 et M1:M20 à ton fichier
Attention, la vraie valeur non disponible dans Excel est bien #N/A et pas simplement N/A qui est du texte, à adapter peut-être selon ton fichier

Cordialement
Messages postés
26
Date d'inscription
mardi 4 août 2020
Statut
Membre
Dernière intervention
15 septembre 2020
>
Messages postés
498
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
22 septembre 2020

Est ce que votre formule marche si la valeur renvoyée par la cellule est exactement "#N/A N/A" ? Car la formule présente dans la cellule me renvoie ce message d'erreur.
Messages postés
498
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
22 septembre 2020
23 >
Messages postés
26
Date d'inscription
mardi 4 août 2020
Statut
Membre
Dernière intervention
15 septembre 2020

Bonjour,

Excel considère cette valeur comme un simple texte et pas comme une valeur d'erreur, alors essaie ceci, toujours en matriciel :
=SIERREUR(ECARTYPE.STANDARD(SI(($L$1:$L$20<=$C$1)*($L$1:$L$20>=$D$1)*(SI($M$1:$M$20="#N/A N/A";0;$M$1:$M$20))=0;"";($M$1:$M$20)));"")


voire même :
=SIERREUR(ECARTYPE.STANDARD(SI(($L$1:$L$20<=$C$1)*($L$1:$L$20>=$D$1)=0;"";($M$1:$M$20)));"")


en espérant qu'il n'y ait pas d'autres valeurs bizarres.

Cordialement
Messages postés
26
Date d'inscription
mardi 4 août 2020
Statut
Membre
Dernière intervention
15 septembre 2020
>
Messages postés
498
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
22 septembre 2020

bizarrement, les deux fonctionnent, je vous remercie chaleureusement d'avoir réglé mon problème !
Messages postés
498
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
22 septembre 2020
23 >
Messages postés
26
Date d'inscription
mardi 4 août 2020
Statut
Membre
Dernière intervention
15 septembre 2020

Dans la deuxième formule plus simplifiée, le test est supprimé car la fonction EcartType ne prends pas en compte les valeurs Texte.

Bonne continuation