Calcul d'écart type de température entre deux dates à rechercher
Résolu
thomathieu
Messages postés
15
Statut
Membre
-
angie55 -
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
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
A voir également:
- Calcul d'écart type de température entre deux dates à rechercher
- Nombre de jours entre deux dates excel - Guide
- Temperature pc - Guide
- Temperature mac - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Rechercher ou entrer l'adresse - Guide
9 réponses
Bonjour,
pour joindre un document : aller sur cjoint.com, créer un lien, et le copier-coller dans la suite de cette conversation.
Cordialement.
pour joindre un document : aller sur cjoint.com, créer un lien, et le copier-coller dans la suite de cette conversation.
Cordialement.
Merci beaucoup (déjà un problème de résolu!)
donc voici le lien de l'exemple :
https://www.cjoint.com/c/CAFlvwkPKbC
donc voici le lien de l'exemple :
https://www.cjoint.com/c/CAFlvwkPKbC
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.
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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! ...
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! ...
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))
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))
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à?
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à?
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
=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
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
A bientôt peut-être
Aurélia
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))
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))