Utilisations des fonctions SI, ET, OU

Résolu
Romzy3133 -  
 Romzy3133 -
Bonjour,

Je rencontre un petit problème de formule sur Excel. J'ai en effet deux cellules A1 et B1 dans lesquelles j'ai créé un menu déroulant de façon à ce qu'elles puissent chacune prendre les valeurs de 1 à 4. J'aimerais dans une troisième cellule C1 faire en sorte que si A1=1 et B1=1 apparaisse en C1 la valeur 1, mais si A1=3 et B1=2 alors apparaisse 4 en C1... Mais je ne sais pas comment rentrer cela dans une formule...

Auriez vous une petite astuce miracle ? :)

Merci d'avance et bonne soirée

Romain

2 réponses

Arkana0 Messages postés 6365 Date d'inscription   Statut Modérateur Dernière intervention   182
 
Bonjour,

Tu peux imbriquer jusqu'à 7 SI() les uns dans les autres.
SI(test1;résultat1;SI(test2;résultat2;SI(...)))

Mais je suppose que ça ne marchera pas dans ton cas car je devine que tu peux avoir plus de 8 cas différents...(7 SI() permettent 8 résultats)

Ce que je ferais :

Je créerais une table de résultats. avec en première colonne le résultat combiné de A1 et B1 (11; 12 ; 13 ; 14 ; 21 ; ... ; 44) et en deuxième colonne le résultat correspondant pour C1.

Ensuite j'utiliserais la fonction
RECHERCHEV(élément à rechercher;Table de recherche et résultat;colonne à renvoyer; FAUX)

Dans l'élément à rechercher, tu renseignes
CONCATENER(A1;B1)

Dans la table tu sélectionnes la table de correspondance décrite ci-dessus.
Dans la colonne à renvoyer tu tapes 2 (deuxième colonne de la table)
0
Romzy3133
 
Merci beaucoup de votre réponse,

j'ai essayé de faire comme vous me l'avez conseillé, mais j'obtiens #N/A quand je rentre cette formule :(
J'ai pour le moment dans mes cellules A1 et B1 mes listes déroulantes me permettant de choisir les valeurs à attribuer à ces deux cellules. J'ai ensuite créé la table que vous m'indiquiez en colonnes E et F (E valeurs combinées que peuvent prendre A et B : 11,12,13, 14, 22... 44 et F les valeurs correspondantes à ces combinaisons) en C1 je rentre ensuite la formule suivante : =RECHERCHEV(CONCATENER(A1;B1);E1:F16;2;FAUX). Et c'est surement là qu'il y a un problème et je l'ai très certainement sous les yeux vu que je l'écris, amis je ne le vois absolument pas...
L'informatique et moi ...^^
0
Arkana0 Messages postés 6365 Date d'inscription   Statut Modérateur Dernière intervention   182 > Romzy3133
 
Romzy,
Probablement un problème de format, CONCATENER donne un résultat sous forme de texte et on le compare à des nombres. Tu peux essayer
ENT(CONCATENER(...))
pour pallier à ça.

Tu auras aussi un autre problème : regarde ce que ça donne en C2, La zone de ta table de correspondance est sûrement décalée d'une ligne. Pour corriger ça, remplace
E1:F16
par
$E$1:$F$16
ou même plus simplement par
E:F
. Les $ servent à empêcher les colonnes ou les lignes (selon s'il est mis devant le nom de colonne ou de ligne) de glisser en même temps que la formule.
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour

A partir d'Excel 2007, le nombre de SI n'est pas limité à 7, mais pour vous proposer une formule il faudrait connaitre tout vos cas de figures possibles, soit avec le code SI en écrivant:
=SI(A1=V1;B1=V2);1;SI(ET(A1=V3;B1=V4);2;....etc)))

où avec RECHERCHEV comme le propose très justement Arkana. Dans ce dernier cas, vous devrez construire un tableau de référence avec en 1° colonne la combinaison des deux cellules.Je conseille de créer cette colonne en séparant les valeurs par un tiret, pour éviter d'éventuelles confusion entre 11-3 et 1-13
la valeur cherchée serait alors construite avec A1&"-"&B1.

crdlmnt
0
Raymond PENTIER Messages postés 58989 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
Bonjour.

Pour répondre strictement à la question de Romzy3133, je dirai qu'il ne s'agit pas du tout d'une astuce (ni petite, ni miracle) mais d'une formule fabriquée avec les fonctions que tu as citées :

=SI(ET(A1=1;B1=1);1;"à déterminer")

=SI(ET(A1=1;B1=1);1; SI(ET(A1=3;B1=2);4;"à déterminer"))

=SI(ET(A1=1;B1=1);1; SI(ET(A1=3;B1=2);4; SI(ET(A1=4;B1=3);2;"à déterminer")))

et ainsi de suite ... en principe tu as 16 fois la fonction SI et donc 16 parenthèses fermantes.
0
Arkana0 Messages postés 6365 Date d'inscription   Statut Modérateur Dernière intervention   182
 
Sauf qu'on ne peut pas aller au-delà de 7 SI() imbriqués les uns dans les autres
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438 > Arkana0 Messages postés 6365 Date d'inscription   Statut Modérateur Dernière intervention  
 
Bonjour Arkana
comme je l'ai déjà écrit plus haut, cette contrainte n'existe plus depuis les versions 2007. Le nombre de SI n'est pas limité, ....ou alors à un nombre que je n'ai jamais atteint aujourd'hui
crdlmnt
0
Arkana0 Messages postés 6365 Date d'inscription   Statut Modérateur Dernière intervention   182 > Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention  
 
J'utilise Excel 2007 et il me semble bien avoir bloqué contre cette limite à 7 SI() (pas le courage de revérifier). Toutefois, bon courage pour gérer une formule avec autant de SI() imbriqués !
C'est à ce moment-là que j'ai commencé à me renseigner sur des alternatives, dont le RECHERCHEV()
0
Raymond PENTIER Messages postés 58989 Date d'inscription   Statut Contributeur Dernière intervention   17 353 > Arkana0 Messages postés 6365 Date d'inscription   Statut Modérateur Dernière intervention  
 
Si tu as bloqué, c'est que tu étais en mode compatibilité sur un fichier 2003 ...
Tu ne penses tout de même pas que j'aurais écrit une telle ânerie ? ...
0
Arkana0 Messages postés 6365 Date d'inscription   Statut Modérateur Dernière intervention   182 > Raymond PENTIER Messages postés 58989 Date d'inscription   Statut Contributeur Dernière intervention  
 
Ah oui, c'est tout à fait possible !
Et on a tous droit à nos moments de faiblesse ;). Ne te connaissant pas, je ne pense absolument rien de toi :)
0