Formule excel

Bonjour,
alors en fait j'ai un soucis. J'ai une formule (assez longue) à trouver sur excel, mais j'ai beau chercher, je trouve rien.. J'ai l'algorithme qui est le suivant :
Si Marchandise à emporter, alors port = 0, sinon Si bon client, alors port = "offert", sinon Si ville = "Lille", alors port = "5", sinon Si CP = "59", alors port = "10", sinon Si CP = "62" ou "02", alors port = "15".
J'espère que vous avez compris et que vous arriverez à m'aider.. Et bien sur, tout ca est a mettre dans une seule formule...
Merci.

6 réponses

  1. Contributeur
    Salut,

    faudrait peut-être revoir tes règles car tu as des ambiguïtés:

    si par exemple ton client est un "bon client" et qu'il a le CP 62 ou 02 tu mets quoi comme port ?
    0
    1. Contributeur
      Bonjour
      Ricky, je pense qu'avec bon client le CP n'est pas à prendre en compte, ce qui donnerait:
      exemple à adapter:
      en A1: le code Marchandise à emporter ou vide
      en B1 le code Bon client, sinon vide
      en C1 la ville
      en D1 le CP:
      formule en E1

      =SI(A1="Marchandise à emporter";0;SI(B1="Bon client";"Offert";SI(C1="Lille";5;SI(D1=59;10;SI(OU(D1=62;D1="02");15;"")))))

      précisons qu'avec qu'un code texte du type "offert" en résultat, ,un calcul ultérieur avec cette cellule ne sera pas possible, sauf avec une formule spéciale.

      de même pour avoir 02 en cellule D1, il faut entrer le code département précédé d'une apostrophe.

      crdlmnt

      ps un petit modèle ici
      http://www.cijoint.fr/cjlink.php?file=cj201110/cijzjGy9PF.xls

      Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
      0
      1. Salut,

        pourquoi ne pas partir sur une RECHERCHEV

        exemple à partir de A2 on saisi la liste de critère
        Marchandise à emporter
        bon client
        Lille
        59
        62
        02
        en face chaque critère on saisi
        0
        offert
        5
        10
        15
        15
        la formule serait
        =RECHERCHEV(E2;A2:B7;2;0)
        ou avec gestion d'erreur
        =SI(ESTERREUR(RECHERCHEV(E2;A2:B7;2;0));"";RECHERCHEV(E2;A2:B7;2;0))

        plus court avec les plages nommées
        la plage en colonne A nommée Ex Desig alimentera une liste déroulante en E2 et la matrice A2 à B 20 par EX nommée List
        =RECHERCHEV(E2;List;2;0)

        la même avec gestion d'erreur
        =SI(ESTERREUR(RECHERCHEV(E2;List;2;0));"";RECHERCHEV(E2;List;2;0))

        Si tu as besoin d'un exemple fais signe
        0
        1. Contributeur
          Salut Mike,
          on va attendre la réaction du demandeur, mais je pense que les données à mettre en condition ne peuvent pas être dans la même cellule.
          (d'où le modéle transmis)
          crdlmnt
          0
        2. Salut l'ami,

          oui tout à fait attendons !

          bonne soirée
          0
      2. Bonjour,
        j'ai trouvé la formule, mais par contre, comment faire pour dire qu'il faut que le code postal COMMENCE par 59 ? Quels symboles faut-il mettre ?
        Merci
        0
        1. Et je précise que pour l'instant, ma formule est :
          =SI(G50=2;0;SI(TYPECLI="VRAI";0;SI(G8="Lille";5;SI(CPcli=59;10;15))))
          0
          1. Contributeur
            Bonjour

            =SI(GAUCHE(Cellule code;2)*1=59;........

            crdlmnt
            0