Excel-Calcul sous condition
Résolu
LD1
Messages postés
56
Date d'inscription
Statut
Membre
Dernière intervention
-
Raymond PENTIER Messages postés 58991 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58991 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je rencontre un problème pour calculer des distances dans un espace particulier. En fait, j'ai enregistré les positions en x du curseur d'un sujet qui se déplace dans un environnement en 1-D de 200 pixels. Le problème, c'est que cet espace se boucle sur lui-même : si le sujet franchit le pixel 199, il réapparaît au pixel 0 et inversement.
Je souhaite calculer la distance parcourue en fonction du temps, en tenant compte de la direction du franchissement. Par exemple, il faudrait que je compte 1 pixel si le sujet passe de 199 à 0, et inversement que je compte -1 pixel s'il passe de 0 à 199.
J'ai réussi à obtenir la distance absolue (sans la direction) avec cette formule :
=SI(ABS(B3-B2)<150;ABS(B3-B2);ABS(ABS(B3-B2)-200))
Mais là je sèche pour faire la même chose en tenant compte des directions... Quelqu'un a-t-il une idée ?
Je joins un fichier d'exemple :
http://www.cijoint.fr/cjlink.php?file=cj201106/cijTdlFV5M.xlsx
Merci d'avance si vous avez une idée !
Je rencontre un problème pour calculer des distances dans un espace particulier. En fait, j'ai enregistré les positions en x du curseur d'un sujet qui se déplace dans un environnement en 1-D de 200 pixels. Le problème, c'est que cet espace se boucle sur lui-même : si le sujet franchit le pixel 199, il réapparaît au pixel 0 et inversement.
Je souhaite calculer la distance parcourue en fonction du temps, en tenant compte de la direction du franchissement. Par exemple, il faudrait que je compte 1 pixel si le sujet passe de 199 à 0, et inversement que je compte -1 pixel s'il passe de 0 à 199.
J'ai réussi à obtenir la distance absolue (sans la direction) avec cette formule :
=SI(ABS(B3-B2)<150;ABS(B3-B2);ABS(ABS(B3-B2)-200))
Mais là je sèche pour faire la même chose en tenant compte des directions... Quelqu'un a-t-il une idée ?
Je joins un fichier d'exemple :
http://www.cijoint.fr/cjlink.php?file=cj201106/cijTdlFV5M.xlsx
Merci d'avance si vous avez une idée !
A voir également:
- Excel-Calcul sous condition
- Excel cellule couleur si condition texte - Guide
- Calcul moyenne excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
3 réponses
Salut.
En mettant en C3 la formule
=B3-B2
et en D3 la formule
=SI(ABS(C3)>150;C3-SIGNE(C3)*200;C3)
cela devrait marcher (formules à recopier vers le bas).
En mettant en C3 la formule
=B3-B2
et en D3 la formule
=SI(ABS(C3)>150;C3-SIGNE(C3)*200;C3)
cela devrait marcher (formules à recopier vers le bas).
Bien sûr, Eric, j'en étais conscient.
Simplement j'ai eu peur que LD1 n'aie du mal à comprendre la syntaxe de ta formule, et j'ai cherché à lui proposer quelque chose d'aussi proche que possible de ce qu'il avait conçu lui-même, tout en lui montrant comment optimiser sa démarche grâce à la fonction SIGNE, que l'on utilise trop rarement ...
Très cordialement.
Simplement j'ai eu peur que LD1 n'aie du mal à comprendre la syntaxe de ta formule, et j'ai cherché à lui proposer quelque chose d'aussi proche que possible de ce qu'il avait conçu lui-même, tout en lui montrant comment optimiser sa démarche grâce à la fonction SIGNE, que l'on utilise trop rarement ...
Très cordialement.
Bonjour,
Au passage, et que fait-on si le sujet passe de 199 à 170 ou l'inverse ?
Qu'elle est la raison du critère [<150] et de la constante [-200] dans votre formule ?
Au passage, et que fait-on si le sujet passe de 199 à 170 ou l'inverse ?
Qu'elle est la raison du critère [<150] et de la constante [-200] dans votre formule ?
Bonjour,
si le sujet passe de 199 à 170, c'est qu'il aura parcouru -21 pixels en un pas de temps. Si c'est l'inverse, c'est qu'il aura parcouru +21 pixels (c'est très rapide, mais c'est encore possible).
Pour ce qui est de [<150], il s'agit d'un critère arbitraire qui permet de ne pas tenir compte des passages du sujet au-delà des bords de l'espace pour obtenir la distance réelle parcourue. Dans tous les autres cas, un "saut" de + de 150 pixels en un seul pas de temps est physiquement impossible.
La constante [-200] correspond à la taille de l'espace, que je retranche dans le cas où le test logique est faux pour obtenir la distance réelle parcourue sans tenir compte du franchissement de la limite de l'espace (dont le sujet n'a pas conscience).
Mais la formule que j'ai proposé n'est peut-être pas très judicieuse, il s'agit plutôt d'un petit bricolage dans le but d'obtenir le nombre de pixels parcourus quel que soit la position au temps t et t+1. De plus, elle me fait perdre de l'information, et notamment la direction du déplacement, que je ne parviens pas à obtenir, d'où ma question.
J'espère que je suis pas trop confus dans mes explications... N'hésitez pas à me demander plus de précisions.
Cordialement,
si le sujet passe de 199 à 170, c'est qu'il aura parcouru -21 pixels en un pas de temps. Si c'est l'inverse, c'est qu'il aura parcouru +21 pixels (c'est très rapide, mais c'est encore possible).
Pour ce qui est de [<150], il s'agit d'un critère arbitraire qui permet de ne pas tenir compte des passages du sujet au-delà des bords de l'espace pour obtenir la distance réelle parcourue. Dans tous les autres cas, un "saut" de + de 150 pixels en un seul pas de temps est physiquement impossible.
La constante [-200] correspond à la taille de l'espace, que je retranche dans le cas où le test logique est faux pour obtenir la distance réelle parcourue sans tenir compte du franchissement de la limite de l'espace (dont le sujet n'a pas conscience).
Mais la formule que j'ai proposé n'est peut-être pas très judicieuse, il s'agit plutôt d'un petit bricolage dans le but d'obtenir le nombre de pixels parcourus quel que soit la position au temps t et t+1. De plus, elle me fait perdre de l'information, et notamment la direction du déplacement, que je ne parviens pas à obtenir, d'où ma question.
J'espère que je suis pas trop confus dans mes explications... N'hésitez pas à me demander plus de précisions.
Cordialement,
ça fonctionne merci beaucoup !
Cordialement,