Fonction SI

Résolu
Bonjour,

J'ai besoin de renvoyer 2 valeurs po ou phone en fonction d'une colonne d'un autre tableau .en littérature si I2 est égale à une valeur appartenant à la colonne C de la table 4 renvoyer po sinon Phone .
ma colonne I comporte 1000 entrée et ma colonne C 40 entrée (colonne C sur une autre table
j'ai utiliser la formule suivante :
=SI(I2=table4!C$2:C$40;"PO";"PHONE")
Elle marche bien jusqu'à la ligne I 41 :/
si vous avez des idées
MERCI

5 réponses

  1. Bonjour,
    As-tu essayé avec une recherchev, ça semble plus correspondre à la situation ;)
    Après tu peux inclure le recherchev dans le if sans problème ;)
    1
    1. Michel ça me renvoi une erreur direct
      Arthur c presque bon quand je met ta fonction c comme si ça faisait le travail à moitié donc je n'ai pas tous les PO . J'ai ajouter ;Faux à la formule et là c'est bon j'ai tous les PO impec sauf que ça me donne #N/A à la place de PHONE la valeur si faux n'est pas renvoyé .
      voici la formule que j'ai utilisé et qui est la plus proche jusque la
      =SI(I2=RECHERCHEV(I2;PO!C$2:C$40;1;FAUX);"PO";"PHONE")

      Merci beaucoup en tout cas .
      1
      1. Le faux que tu as ajouté l'est par défaut normalement mais bon, admettons ;)

        C'est étrange ce #N/A
        Essaye la condition inverse :
        =SI(RECHERCHEV(I2;PO!C$2:C$40;1;FAUX)="";"PHONE";"PO")
        0
      2. Ah non avec cette formule la ça donne tjrs des #N/A avec des valeurs PO erroné :/
        JE me dis si je peux ajouter un critere à la fonction pour qu'elle me renvoi PHONE quand c'est #N/A , c'est possible ?
        0
      3. Oui tu peux faire ça en ajoutant un autre si, par dessus le premier, et utiliser la fonction estna ;)
        0
      4. Oulaa c'est un peux fort voila ce que j'ai compris :

        =SI(I2=RECHERCHEV(I2;PO!C$2:C$40;1;FAUX);"PO";(SI(ESTNA(PHONE)
        0
      5. Ah non c'est pas ça :P

        =SI(SI(estna(I2=RECHERCHEV(I2;PO!C$2:C$40;1;FAUX);"PO";"PHONE"));"PHONE";"PO")
        0
    2. je veux bien sauf que je ne sais pas trop comment combiner les deux fonctions , j'ai utiliser ça :
      =SI(I2=RECHERCHEV(I2;table4!C$2:C$40;3;FAUX);"PO";"PHONE")
      mais ça ne marche tjrs pas !!!
      un coup de main !!!!
      0
      1. Pourquoi le numéro d'index est à 3 ? C'est 1 puisque l'on cherche sur une seule colonne, ça ne peut pas fonctionner ;)
        Donc c'est plutôt :
        =SI(I2=RECHERCHEV(I2;table4!C$2:C$40;1);"PO";"PHONE")
        0
      2. Arthur c presque bon quand je met ta fonction c comme si ça faisait le travail à moitié donc je n'ai pas tous les PO . J'ai ajouter ;Faux à la formule et là c'est bon j'ai tous les PO impec sauf que ça me donne #N/A à la place de PHONE la valeur si faux n'est pas renvoyé .
        voici la formule que j'ai utilisé et qui est la plus proche jusque la
        =SI(I2=RECHERCHEV(I2;PO!C$2:C$40;1;FAUX);"PO";"PHONE")

        Merci beaucoup en tout cas .
        0
    3. Contributeur
      bonjour,

      essaies
      =Si(nb.si(table4!C$2:C$40;I2)>0:"po";"phone")
      0
      1. Contributeur
        Michel ça me renvoi une erreur direct

        ah bon ?

        La preuve:
        https://www.cjoint.com/?3GioiNJirFM
        0
        1. autant pour moi ta raison ça marche plutôt bien en mode fluide et simple
          Merci Michel c'est impec
          0
        2. Contributeur
          La prochaine fois, étudie bien ce quelqu'un te propose
          :o)
          0
        3. NOTé :)
          0