Excel formule imbriquée si

Résolu
fily -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrais une formule qui dise :

si V est inférieur à 14 alors V& "jours"
si V est compris entre 14 et 130 alors "deux semaines"
si V est supérieur à 130 alors "un mois"

J'ai créé la formule : si(14>14;V& "jours";si(14>V>130;"deux semaines;"un mois")) mais cette formule ne fonctionne pas

Merci de l'aide que vous pourrez m'apporter

6 réponses

  1. jc80 Messages postés 5063 Date d'inscription   Statut Membre Dernière intervention   1 443
     
    Bonjour

    Un exemple de ton fichier serait le bienvenu
    Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com

    Va sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse..
    Cordialement
    0
  2. fily
     
    https://www.cjoint.com/doc/18_06/HFjp4DdBdQZ_Contrats-excel-Base-CDD.xls

    c'est la formule qui se trouve dans la colonne W

    Merci de votre aide
    0
  3. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
     
    Bonsoir
    Tu as mis des restrictions sur ton fichier
    Essaie

    =SI(V2>130;"un mois";si(V2>=14;"deux semaines";V2&" jours"))

    Cordialement
    0
    1. fily
       
      cela ne fonctionne pas le résultat indique FAUX
      0
  4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    Ce lien ne fonctionne pas mais,en attendant le fichier:
    sauf si vous avez une cellule nommée V votre formule ne peut pas fonctionner car il n'y a pas d'adresse de cellule (lettre colonne et N° de ligne) d'une part et d'autre part, vous écrivez SI(14>14 et ça ne doit pas arriver souvent en arithmétique!!

    alors mieux vaut écrire, si la valeur à considérer est par exemple en V1(adresse de cellule à adapter)

    =SI(V1="";"";SI(V1<14;V1&" jour(s)";SI(V1<130;"deux semaines";"un mois")))

    en respectant bien l'ordre des valeurs 14 et 130

    on peut même "fignoler" les accords

    =SI(V1="";"";SI(V1<14;V1&" jour"&SI(V1>1;"s";"");SI(V1<130;"deux semaines";"un mois")))
    crdlmnt

    0
    1. fily
       
      Ca fonctionne merci beaucoup
      pour mon info pourriez vous me dire pourquoi la formule que j'avais créée =si(V2>14;V2& "jours";si(14>V2>130;"deux semaines;"un mois")) ne fonctionne pas ?
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Votre formule ne fonctionne pas essentiellement parce que Excel s'arrête de lire la formule dès qu'il a trouvé une solution.
      et donc, Excel renvoie V2&"jour" dès qu'il trouve une valeur V2 > que 14 même si V2 fait 12345
      donc si vous voulez utiliser >, il faut commencer par la plus grande valeur limite
      crdlmnt
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    J'ai créé la formule : si(14>14;V& "jours";si(14>V>130;"deux semaines;"un mois")) mais cette formule ne fonctionne pas
    Il était absolument impossible qu'elle fonctionne !

    Tes signes < et > sont inversés !
    En effet V3 ne peut pas être à la fois plus petit que 14 et plus grand que 130, n'est-ce pas ?

    La logique de ta formule est trop fantaisiste ...
    Et où as-tu vu qu'on pouvait écrire
    SI(x<N<y; ... 
    ?

    Et si la condition 1 n'est pas remplie V3 ne sera pas affichée devant "2 semaines" ou "1 mois" !

    Il faut correctement décomposer chaque test en écrivant
    SI(ET(x<N;N<y); ... 
    ou
    SI(ET(x<N;y>N); ... 
    et ta formule
    si(14>14;V& "jours";si(14>V>130;"deux semaines;"un mois"))
    deviendra finalement
    =V3&SI(V3<14;" jours";SI(ET(V3>14;V3<130);" deux semaines";" un mois"))

    Ce n'est plus du tout pareil !
    0
    1. fily
       
      Merci beaucoup pour les explications
      0
    2. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
       
      Il faut oublier mon message #5 du 9 juin à 19:23 et le remplacer par
      :

      J'ai créé la formule : si(14>14;V& "jours";si(14>V>130;"deux semaines;"un mois")) mais cette formule ne fonctionne pas
      Il était absolument impossible qu'elle fonctionne !

      Tes signes < et > sont inversés !
      En effet V3 ne peut pas être à la fois plus petit que 14 et plus grand que 130, n'est-ce pas ?

      La logique de ta formule est trop fantaisiste ...
      Et où as-tu vu qu'on pouvait écrire
      SI(x<N<y; ... 
      ?

      Il faut correctement décomposer chaque test en écrivant
      SI(ET(x<N;N<y); ...
      ou
      SI(ET(x<N;y>N); ...
      et ta formule
      si(14>14;V& "jours";si(14>V>130;"deux semaines;"un mois"))
      deviendra finalement
      =SI(V3<14;V3&" jours";SI(ET(V3>14;V3<130);"deux semaines";"un mois"))

      Ce n'est plus du tout pareil !
      0
  7. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
     
    Bonjour fily

    En réponse à ton commentaire #6 la capture ci-dessous prouve que ma formule est bonne.



    Merci Vaucluse j'ai chipé ton bout de formule sur l'accord du pluriel.

    Cordialement
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Pas de quoi, Papyluc, c'est gratuit pour les amis
      Bien cordialement
      0