Utilisations des fonctions SI, ET, OU
Résolu/Fermé
A voir également:
- Utilisations des fonctions SI, ET, OU
- Fonction si et - Guide
- Comment savoir si quelqu'un utilise mon adresse ip - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Comment savoir si quelqu'un utilise mon compte facebook - Guide
- Une personne non-voyante utilise un logiciel qui lit les textes et décrit les images. sans utiliser de logiciel spécifique, trouvez, dans le document, comment s’appelle le chien de la photo. - Forum Cinéma / Télé
2 réponses
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
Modifié par Arkana0 le 30/08/2016 à 18:13
Modifié par Arkana0 le 30/08/2016 à 18:13
Bonjour,
Tu peux imbriquer jusqu'à 7 SI() les uns dans les autres.
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
Dans l'élément à rechercher, tu renseignes
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)
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)
Raymond PENTIER
Messages postés
58798
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 janvier 2025
17 262
31 août 2016 à 03:08
31 août 2016 à 03:08
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.
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.
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
31 août 2016 à 08:44
31 août 2016 à 08:44
Sauf qu'on ne peut pas aller au-delà de 7 SI() imbriqués les uns dans les autres
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 419
>
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
Modifié par Vaucluse le 31/08/2016 à 08:59
Modifié par Vaucluse le 31/08/2016 à 08:59
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
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
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
>
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
Modifié par Arkana0 le 31/08/2016 à 09:40
Modifié par Arkana0 le 31/08/2016 à 09:40
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()
C'est à ce moment-là que j'ai commencé à me renseigner sur des alternatives, dont le RECHERCHEV()
Raymond PENTIER
Messages postés
58798
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 janvier 2025
17 262
>
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
31 août 2016 à 15:28
31 août 2016 à 15:28
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 ? ...
Tu ne penses tout de même pas que j'aurais écrit une telle ânerie ? ...
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
>
Raymond PENTIER
Messages postés
58798
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
4 janvier 2025
Modifié par Arkana0 le 31/08/2016 à 15:39
Modifié par Arkana0 le 31/08/2016 à 15:39
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 :)
Et on a tous droit à nos moments de faiblesse ;). Ne te connaissant pas, je ne pense absolument rien de toi :)
30 août 2016 à 18:49
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 ...^^
31 août 2016 à 08:44
Probablement un problème de format, CONCATENER donne un résultat sous forme de texte et on le compare à des nombres. Tu peux essayer 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 par ou même plus simplement par . 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.
30 août 2016 à 18:54
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