Prise de tete avec excel et la fonction si

jerem48 -  
JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   -
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
Configuration: Windows Vista
Safari 530.5

11 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. jerem48
     
    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
  3. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    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
  4. jerem48
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    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
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  8. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    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
  9. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    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
  10. tontong
     
    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
  11. jerem48
     
    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
  12. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    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