Utilisations des fonctions SI, ET, OU [Résolu/Fermé]

Signaler
-
 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

Messages postés
2947
Date d'inscription
mercredi 11 février 2009
Statut
Contributeur
Dernière intervention
21 septembre 2020
157
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)
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 ...^^
Messages postés
2947
Date d'inscription
mercredi 11 février 2009
Statut
Contributeur
Dernière intervention
21 septembre 2020
157 > 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.
Messages postés
25299
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 septembre 2020
5 480
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
Messages postés
52293
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 septembre 2020
14 083
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.
Messages postés
2947
Date d'inscription
mercredi 11 février 2009
Statut
Contributeur
Dernière intervention
21 septembre 2020
157 >
Messages postés
25299
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
21 septembre 2020

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()
Messages postés
52293
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 septembre 2020
14 083 >
Messages postés
2947
Date d'inscription
mercredi 11 février 2009
Statut
Contributeur
Dernière intervention
21 septembre 2020

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 ? ...
Messages postés
2947
Date d'inscription
mercredi 11 février 2009
Statut
Contributeur
Dernière intervention
21 septembre 2020
157 >
Messages postés
52293
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 septembre 2020

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 :)
Messages postés
52293
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 septembre 2020
14 083 >
Messages postés
2947
Date d'inscription
mercredi 11 février 2009
Statut
Contributeur
Dernière intervention
21 septembre 2020

Si tu veux, je peux te copier toutes les vannes, remontrances et critiques négatives auxquelles j'ai eu droit ces derniers mois ... ça te donnera une idée de la façon dont je suis perçu par certains utilisateurs de CCM !
Heureusement qu'il y a de réelles compensations ...
Bonne journée à toi.
Salut à tous,

Tout d'abord merci beaucoup pour votre aide. Je me suis finalement contenté d'utiliser 16 fois la fonction SI pour parvenir à ce que je voulais ! Il y a surement plus rapide mais le temps que je comprenne les autres méthodes j'ai eu plus vite fait de recopier 16 fois ma fonction haha :D
Je me pencherai un peu plus tard sur les autres méthodes car cela m'intéresse de comprendre un peu mieux excel et ses possibilités !

Merci à nouveau pour votre aide. C'est très agréable d'avoir des réponses si rapides et nombreuses.

Bonne continuation et qui sait... peut être à bientôt ;)