Calcul d'écart type de température entre deux dates à rechercher
Résolu/Fermé
thomathieu
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
-
31 janv. 2013 à 11:17
angie55 - 6 janv. 2016 à 16:55
angie55 - 6 janv. 2016 à 16:55
A voir également:
- Calcul d'écart type de température entre deux dates à rechercher
- Rechercher ou entrer l'adresse - Guide
- Temperature processeur - Guide
- Temperature mac - Guide
- Calcul moyenne excel - Guide
- Itinéraire google map entre deux adresses - Guide
9 réponses
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
31 janv. 2013 à 11:19
31 janv. 2013 à 11:19
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.
thomathieu
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
31 janv. 2013 à 11:23
31 janv. 2013 à 11:23
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
thomathieu
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
31 janv. 2013 à 11:27
31 janv. 2013 à 11:27
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.
tontong
Messages postés
2569
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2025
1 059
31 janv. 2013 à 14:33
31 janv. 2013 à 14:33
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
thomathieu
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
31 janv. 2013 à 15:31
31 janv. 2013 à 15:31
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! ...
tontong
Messages postés
2569
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2025
1 059
31 janv. 2013 à 15:59
31 janv. 2013 à 15:59
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))
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
31 janv. 2013 à 16:30
31 janv. 2013 à 16:30
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
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
thomathieu
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
31 janv. 2013 à 16:55
31 janv. 2013 à 16:55
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
Cordialement,
Aurélia
thomathieu
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
31 janv. 2013 à 16:44
31 janv. 2013 à 16:44
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à?
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
31 janv. 2013 à 17:14
31 janv. 2013 à 17:14
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
thomathieu
Messages postés
15
Date d'inscription
jeudi 8 novembre 2012
Statut
Membre
Dernière intervention
4 mars 2014
6
31 janv. 2013 à 17:24
31 janv. 2013 à 17:24
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
tontong
Messages postés
2569
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
22 janvier 2025
1 059
Modifié par tontong le 31/01/2013 à 18:02
Modifié par tontong le 31/01/2013 à 18:02
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))