Calcul d'écart type de température entre deux dates à rechercher [Résolu/Fermé]

Signaler
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
-
 angie55 -
Bonjour,

Voici mon problème : j'ai au départ des dates de localisation d'animal et en parallèle des dates de température associées à une valeur de température. J'aimerais calculer l'écart type des températures qui sont comprises entre mes dates de localisation. Pour beaucoup plus de clarté voir exemple joint! (si le fichier n'est pas là, pouvez vous me dire comment on fait pour joindre un doc excel).

Merci d'avance pour votre aide
Cordialement
Aurélia

9 réponses

Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 290
Bonjour,

pour joindre un document : aller sur cjoint.com, créer un lien, et le copier-coller dans la suite de cette conversation.

Cordialement.
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 63550 internautes nous ont dit merci ce mois-ci

Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
Merci beaucoup (déjà un problème de résolu!)
donc voici le lien de l'exemple :

https://www.cjoint.com/c/CAFlvwkPKbC
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
j'ai oublié de préciser que j'utilise excel 2003 et que je ne suis pas du tout familiarisée avec le language VBA.
Messages postés
2428
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2021
923
Bonjour,
Une combinaison Decaler /Equiv devrait permettre de définir le champ de température qui correspond aux dates/heures voulues.Il semble que la zone en bleu colonne I ne correspond pas à la règle: "dans ce cas là je veux partir de la date/heure température d'avant"

=ECARTYPEP(DECALER($G$2;EQUIV(E4;$G$3:$G$26;1);2;EQUIV(E5;$G$3:$G$26;1)-EQUIV(E4;$G$3:$G$26;1)+1;1))

Cette formule sera donc à vérifier et à adapter.
L'aide excel apporte des renseignements précieux sur les fonctions Decaler et Equiv.
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
Merci pour cette réponse. Je ne comprends pourtant pas tout.
J'essaie d'appliquer cette formule sur mon vrai tableau de données, et non l'exemple, c'est à dire en l'appliquant sur mes colonnes A, B et C. Je colle donc votre formule en D4 pour calculer "l'écart type des températures entre le 14/03/2012 04:07 (cellule A4) et le 15/03/2012 00:30 (cellule A5)" et je la transforme comme celà :
=ECARTYPEP(DECALER($B$2;EQUIV(A4;$B$3:$B$373;1);2;EQUIV(A5;$B$3:$B$373;1)-EQUIV(A4;$B$3:$B$373;1)+1;1))

Mon raisonnement doit être faux car il me renvoie la valeur #DIV/0! ...
allo comment trouve t on le pgcd. j'en ai marre
Messages postés
2428
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2021
923
L'argument ;2; décale la référence de 2 colonnes pour l'exemple cela permet de passer de la colonne G à la colonne i.
Dans le vrai tableau il faut passer cette valeur à 1 pour aller de la colonne B à la colonne C.
=ECARTYPEP(DECALER($B$2;EQUIV(A4;$B$3:$B$373;1);1;EQUIV(A5;$B$3:$B$373;1)-EQUIV(A4;$B$3:$B$373;1)+1;1))
Messages postés
12907
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2021
2 107
Bonjour,

je pense que la formule correspondant aux critères de départ de thommathieuserait plutôt
=ECARTYPEP(INDIRECT(ADRESSE(EQUIV(A3;$B$3:$B$373;1)+2;3));INDIRECT(ADRESSE(SIERREUR(EQUIV(A4;$B$3:$B$373;0);EQUIV(A4;$B$3:$B$373;1)+1)+2;3)))
A tester

Cordialement
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
Bonjour via55, merci également pour votre aide. J'ai essayé votre formule (en D3) mais il me renvoie #NOM?. Quand vous le faites, vous arrivez à un résultat?

Cordialement,
Aurélia
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
ok, désolée je n'ai jamais utilisé ces fonctions decaler et equiv. Mais en tout cas ça marche très bien. Si j'ai bien compris le seul problème pas résolu c'est que lorsque j'ai une date/heure de localisation qui n'existe pas dans la colonne date/heure température, il prend par défaut celle après et non celle avant...
exemple
date/heure localisation date/heure température température
12/03/2012 03:10 12/03/2012 03:05 9.2
12/03/2012 03:13 12/03/2012 03:15 9.4
12/03/2012 03:25 9.6
avec votre formule, il va prendre uniquement la valeur de température 9.4 alors que je voudrais qu'il prenne 9.2 ET 9.4 (donc les deux dates qui encadrent mes dates de localisation)
Est ce bien celà?
Messages postés
12907
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2021
2 107
Cette formule
=ECARTYPE(INDIRECT(ADRESSE(EQUIV(A3;$B$3:$B$373;1)+2;3));INDIRECT(ADRESSE(SIERREUR(EQUIV(A4;$B$3:$B$373;0);EQUIV(A4;$B$3:$B$373;1))+2;3)))

pour
13/03/2012 18:10
13/03/2012 19:10
calcule en partant de 13/03/2012 18:05 jusqu'à 13/03/2012 19:05

celle ci:
=ECARTYPE(INDIRECT(ADRESSE(EQUIV(A3;$B$3:$B$373;1)+2;3));INDIRECT(ADRESSE(SIERREUR(EQUIV(A4;$B$3:$B$373;0);EQUIV(A4;$B$3:$B$373;1)+1)+2;3)))
calcule en partant de 13/03/2012 18:05 jusqu'à 13/03/2012 19:15

L'une des 2 doit te convenir

Cordialement
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
ok, il faut le dire : vous êtes très doués! Un grand merci à tous les deux, ça marche très bien.
A bientôt peut-être

Aurélia
Messages postés
2428
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2021
923
via55 a raison: dans une table triée par ordre croissant Index(val;champ;1) se positionne sur la valeur inférieure. C'est bon pour la première valeur du champ, c'est faux pour la dernière.
Il faut donc tester pour savoir si la valeur exacte est trouvée pour la date de fin. C'est la partie SIERREUR(EQUIV(A4;$B$3:$B$373;0);EQU.... de la formule proposée par via55.
Hélas SiErreur est apparu avec Excel 2007, avec 2003 il faut utiliser Si(EstErreur(...
La formule du#6 deviendrait:
=ECARTYPEP(DECALER($B$2;EQUIV(A4;$B$3:$B$373;1);1;EQUIV(A5;$B$3:$B$373;1)-EQUIV(A4;$B$3:$B$373;1)+1+SI(ESTERREUR( EQUIV(A5;$B$3:$B$373;0));1;0);1))

On peut aussi tester si la valeur exacte existe avec NB.SI
=ECARTYPEP(DECALER($B$2;EQUIV(A4;$B$3:$B$373;1);1;EQUIV(A5;$B$3:$B$373;1)-EQUIV(A4;$B$3:$B$373;1)+1+SI(NB.SI($B$3:$B$373;A5);0;1);1))