Prise de tete avec excel et la fonction si

Fermé
jerem48 - 29 août 2009 à 13:01
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 - 30 août 2009 à 15:10
Bonjour,
Je sui nouvelle sur le forum et j’ai un petit problème sur excel. Je m’explique je veux utiliser la « fonction si » sur un ensemble de valeur. Je cherche à étudier la variation des prix en supermarché, j’ai l’historique mensuel d’un prix sur 10ans. Le prix de cet objet varie très fortement à la hausse comme à la baisse. Or je veux savoir si : sur 6 mois le prix a varié au moins une fois de plus de 10%. Je dois donc étudier l’évolution sur 6 mois pour chaque mois.
Je pensais que la formule suivante marcherait mais ce n’est pas le cas :
=SI(H1:H6<H1*1,1;"forte variation";"faible vaiation")
J’imagine que je dois utiliser la formule « et ; ou » mais je viens de débuter sur excel pouvez vous m’aider ????
Merci d’avance
A voir également:

11 réponses

Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
29 août 2009 à 14:04
Salut,

Montes un petit exemple de fichier que l'on comprenne ce qu'il y a en H1 à H6, et pourquoi as tu mis H1*1

à joindre avec ce lien

https://www.cjoint.com/

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
http://cjoint.com/data/iDoxc0YdPj.htm


Avec ce lien tu devrais mieux comprendre. je fais le premier prix* 1,1 pour avoir ma limite de variation.
avec ce calcul j'obtiens mon prix fois 10%.

Mon problème et de faire comprendre à excel que si au 1 fois le prix a été dépassé du prix de base*10% il doit minscrire forte variation


merci
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
29 août 2009 à 15:22
Bonjour.

Ta formule concentre un certain nombre d'anomalies. Examinons la cellule C2 :
1) Ce n'est pas la date que tu examines, mais le prix ► Ce n'est donc pas =SI(A2:A7<A2*1,1 mais =SI(B2:B7<B2*1,1
2) Tu as interverti "faible" et "forte"
3) Mettre A2:A7 dans une formule non matricielle n'a pas de sens : Ta formule s'arrête à la lecture de la ligne en cours, et n'examine pas les 5 suivantes.
4) Il conviendrait d'utiliser la fonction DECALER ; mais l'as-tu déjà employée ?
0
non je ne l'ai jamais utilisé. Mais plus je réfléchis à mon problème, plus je pense que je vais devoir faire une macro VBA. ten penses koi??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
29 août 2009 à 22:00
Bonsoir,
pour prolonger ce que dit Raymond PENTIER, essaye ceci :=SI(ET(B2:B7<B2*1.1);"faible vaiation";"forte variation") à valider par CTRL+MAJ+ENTER pour que la formule soit considérée comme matricielle (des accolades apparaîtront autour de la formule)
Cordialement
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
29 août 2009 à 22:24
Salut,

Si j'ai bien tout compris,

=SI(B3<=B2*1,1;"faible variation";"forte variation")

ou

=SI(RECHERCHE($E$4;DECALER($A$2;0;1;1;1):$A$11)<=RECHERCHE($E$2;DECALER($A$2;0;1;1;1):$A$11)*1,1;"faible variation";"forte variation")

voir avec le fichier ci dessous les deux propositions

https://www.cjoint.com/?iDwyqHtejN

A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
30 août 2009 à 02:20
Bonjour à tous.
Comme souvent, j'essaie d'éviter les fonctions compliquées à trouver, à expliquer et à modifier, au profit de "bidouilles" moins élégantes mais qui fonctionnent (c'est le principal, non ?).
N'ayant pas réussi à trouver une formule acceptable avec les calculs matriciels (formules de tableaux, constantes de tableaux), j'en suis revenu à une formulation toute bête qui, je le reconnais, deviendrait ingérable s'il y avait non pas 6 mais 24 mois à comparer !
La formule en C2 est =SI(OU(ABS(B3-B2)>0,1*B2;ABS(B4-B2)>0,1*B2;ABS(B5-B2)>0,1*B2;ABS(B6-B2)>0,1*B2;ABS(B7-B2)>0,1*B2);"Forte variation";"Faible variation")
Si on définit le nom Z en saisissant =0,1*Feuil1!B2 dans le champ "Fait référence à" la formule est moins longue =SI(OU(ABS(B3-B2)>Z;ABS(B4-B2)>Z;ABS(B5-B2)>Z;ABS(B6-B2)>Z;ABS(B7-B2)>Z);"Forte variation";"Faible variation")
ou encore mieux =SI(OU(ABS(B4-B3)>Z;ABS(B5-B3)>Z;ABS(B6-B3)>Z;ABS(B7-B3)>Z;ABS(B8-B3)>Z);"Forte";"Faible")&" variation"
Ouf !
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
30 août 2009 à 02:37
Cependant :
La formule cesse d'être juste pour les 5 dernières lignes du tableau.
Si c'est vraiment gênant, on peut compléter la formule avec une condition
=SI(B8=0;"Trop tôt";SI(OU(ABS(B3-B2)>Z;ABS(B4-B2)>Z;ABS(B5-B2)>Z;ABS(B6-B2)>Z;ABS(B7-B2)>Z);"Forte";"Faible")&" variation")
0
Utilisateur anonyme
30 août 2009 à 10:10
Bonjour à tous,
On peut aussi entrer en C7=SI(NB(B2:B7)<6;"données insuffisantes";SI(MAX(B2:B7)>MIN(B2:B7)*1,1;"forte variation";"faible variation")) et recopier vers le bas.
0
Merci à tous et en particulier à JVDO.

J'ai juste une dernière question dans la continuité de mon problème. Afin d'affiner ma recherche, je voudrais mettre en place une sorte de "filtre".Parfois les prix ont tendance à baisser. PS: Se sont des prix de supermarchés en Amérique latine, ou les prix varient fortement à cause de l'inflation et du cours du $.

en gros je voudrais avoir:
- si diminution de plus de 10%, alors "forte baisse".
- si variation entre +ou - 10% alors "pas de changement".
- si augmentation de plus de 10%, alors "forte hausse".

La bonne formule est la suivante: =SI(ET(B2:B7<B2*1,1);"faible vaiation";"forte variation") avec ctrl+ maj+entrer.

Mais je n'arrive pas a rajouter les filtres du haut pouvez vous m'aider?????

Merci d'avance
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
30 août 2009 à 15:10
Bonjour,
je n'ai pas testé, mais ça devrait être :
=SI(ET(B2:B7>B2*1,1);"forte hausse";si(ET(B2:B7<B2*0,9);"forte baisse";"pas de changement"))
cordialement
0