Mettre plusieurs fois la fonction SI dans une formule

Bonjour

j'ai excel 2003 et quand je mets plusieurs fois la fonction SI ,le message indique formule trop longue.

la serie de lettres etant le titre qui doit apparaitre dands la cellule quand on appelle le numero que j'inscris en E5

E5=1 donc E6 =aaaaaaaaaaaa E5=2 donc E6=bbbbbbbbb etc...

Merci de votre aide.

formule:

=SI((E5)=1;"aaaaaaaaaaaa";"")&SI((E5)=2;"bbbbbbbbb";"")&SI((E5)=3;"cccccccccc";"")&SI((E5)=4;"ddd";"")&SI((E5)=5;"eeeeeee";"")&SI((E5)=11;"fffffff";"")&SI((E5)=12;"ggggggggg";"")&SI((E5)=13;"hhhhhhh";"")&SI((E5)=14;"iiiiiiiii ";"")&SI((E5)="15b";"jjjjjjjjjjjjj...)";"")&SI((E5)=15;"kkkkkkk...";"")&SI((E5)=16; "lllllllllll";"")&SI((E5)=17;"mmmmmmm";"")&SI((E5)=18;"nnnn";"")&SI((E5)=19;"oooooo";"")&SI((E5)=21;"pppppp";"")&SI((E5)=22;"qqqqqqq";"")&SI((E5)=23;"rrrrrrrrr";"")&SI((E5)=24;"ssssssss ";"")&SI((E5)=31;"ttttttttttttt";"")&SI((E5)=32;"uuuuuuuuuu";"")&SI((E5)=33;"vvvvvvv";"")&SI((E5l)=41;"wwwwww";"")&SI((E5)=42;"xxxxxxxxx";"")&SI((E5)=43;"yyyyyyyyyy";"")&SI((E5)=44;"zzzzzzzzzz";"")&SI((E5)=51;"abab";"")&SI((E5)=52;"zezeze";"")&SI((E5)=61;"erereer";"")&SI((E5)=613;"tytytyty";"")&SI((E5)=62;"uiuiuiui";"")&SI((E5)=63;"opoopoop";"")&SI((E5)=64;"qsqsqsqs";"")&SI((E5)=65;"sdsdsdsdsd";"")&SI((E5)=66;"dfdfddfdfdfdf...)";"")&SI((E5)=71;"fgfgfffgfg";"")&SI((E5)=72;"hjhjhhjhjhjhj";"")&SI((E5)=81;"klkklkllklkl";"")&SI((E5)=82;"wxwxwx";"")&SI((E5)=83;"cvcvccv";"")&SI((E5)=86;"xcxcxcxc";"")&SI((E5)=91;"vbvvbvbv";"")&SI((E5)=92;"vbvnbnbn";"")&SI((E5)=93;"wcwcwc";"")&SI((E5)=94;"CPP";"")&SI((E5)=95;"Reuuuu";"")

Sur la version 2003, tu ne peux imbriquer que 7 "si" au maximum, si je ne me trompe pas.

Bonsoir

Bonsoir Game Over

Ta cellule E5 ne contiendra (en principe) qu'unseul nombre donc ce n'est pas la peine de faire & (CONCATENER)

Ensuite pour simplifier

Tu crées une colonne (Exemple de A1 à A.... )qui contiendra tous les nombres possibles

Dans la colonne à côté (B1 à B....) tu notes la correspondance texte des ces nombres

Ensuite un simple RECHERCHEV te donnera l'équivalent de ta multitude de SI

=RECHERCHEV(E5;A1:B..;2;FAUX)

B.. représente l'adresse de la cellule contenant l'équivalence du nombre en colonne A

Bonjour tout le monde,

Déjà ta manière d'imbriquer des formules SI est incorrecte. Exemple pour 3 SI

=SI(E5=1;"aaa";SI(E5=2;"bbb";SI(E5=3;"ccc";"")))

Effectivement que sur Excel 2003 tu es limité à 7 conditions SI, je crois à 64 conditions dès la version 2007. Mais c'est vite ingérable.

Essaie avec la fonction INDEX, normalement sans limite :

=INDEX({"aaa";"bbb";"ccc";"ddd";"eee";"fff";"ggg";"hhh";"iii";"jjj";"kkk";"lll"};E5)

Cordialement.

EDIT : Salut Banzai J'avais vu que GameOver avait placé une réponse, mais je n'avais pas vu la tienne. Mais bon, on part dans des directions un peu différentes.

Salut Banzai et Yvouille,

@Smith, voici la fonction proposée par Banzai, il ne te reste plus qu'à compléter la liste.

@Yvouille : j'ai été bluffé de voir que l'imbrication des SI faite par Smith fonctionne, regarde les cellules A1 et A2 de la pièce jointe.

Cdmt

43recherche-v.zip (6.40 Ko)

Bonjour tout le monde,

@Game Over :

Smith n'a pas imbriqué ces formules SI, il les a concaténées. Le résultat de sa formule est donc par exemple : vide & vide & vide & vide & fffff & vide & vide & vide etc., alors qu’en imbriquant les cellules comme sur mon exemple, il n’y a qu’un seul résultat.

La concaténation de Smith peut aller encore un bout de plus. Par exemple la formule ci-dessous est encore acceptée par Excel, mais c’est assez lourd, non ?

=SI((E5)=1;"aaaaaaaaaaaa";"")&SI((E5)=2;"bbbbbbbbb";"")&SI((E5)=3;"cccccccccc";"")&SI((E5)=4;"ddd";"")&SI((E5)=5;"eeeeeee";"")&SI((E5)=11;"fffffff";"")&SI((E5)=12;"ggggggggg";"")&SI((E5)=13;"hhhhhhh";"")&SI((E5)=14;"iiiiiiiii ";"")&SI((E5)="15b";"jjjjjjjjjjjjj...)";"")&SI((E5)=15;"kkkkkkk...";"")&SI((E5)=16; "lllllllllll";"")&SI((E5)=17;"mmmmmmm";"")&SI((E5)=18;"nnnn";"")&SI((E5)=19;"oooooo";"")&SI((E5)=21;"pppppp";"")&SI((E5)=22;"qqqqqqq";"")&SI((E5)=23;"rrrrrrrrr";"")&SI((E5)=24;"ssssssss ";"")&SI((E5)=31;"ttttttttttttt";"")&SI((E5)=32;"uuuuuuuuuu";"")&SI((E5)=33;"vvvvvvv";"")

Cordialement.

Yvouille a écrit :

Smith n'a pas imbriqué ces formules SI, il les a concaténées. Le résultat de sa formule est donc par exemple : vide & vide & vide & vide & fffff & vide & vide & vide etc., alors qu’en imbriquant les cellules comme sur mon exemple, il n’y a qu’un seul résultat.

Cordialement.

je vois la logique de ton explication, donc

=SI(A1=1;"aa";"")&SI(A1=1;bb;"")

a pour résultat aabb, alors que

=SI(A1=1;"aa";SI(A1=1;"aa";"bb"))

donne aa

Merci pour ces précisions...

CQFD

Sauf que dans la formule de Smith il n'est fait référence qu'à la cellule "E5" qui ne peut avoir qu'une seule valeur donc un seul résultat.

Dans cette situation une fonction recherche V ou H serait plus appropriée. La concaténation des Si est utile que s'il y plusieurs cellules interrogées.

Merci à tous les membres pour vos réponses et solutions.

Salut Smith,

Peut-on savoir quelles solutions tu as retenues ?

Cordialement.

Bonjour à tous!

Je viens de lire tout ce que vous avez noté, et ça ne m'aide pas pour autant! =(

Je suis en stage (en néerlandais donc merci le pc de ne pas être en français) et je dois faire une formule avec 11 conditions (pour les codes postaux des provinces)

voilà ce que je fais et ça ne fonctione pas

=ALS(I14<2000;"BRUSSEL";ALS(I14<3000;"ANTWERPEN";ALS(I14<3500;"VLAAMS BRABANT";ALS(I14<4000;"LIMBURG";ALS(I14<5000;"LUIK";""))))))&ALS(I14<6000;"NAMEN";ALS(I14<6600;"HENEGOUWEN";ALS(I14<7000;"LUXEMBURG";ALS(I14<8000;"HENEGOUWEN";ALS(I14<9000;"WEST VLANDEREN";""))))))&ALS(I14<9999;"OOST VLANDEREN";""))

je suis perduuuuuuu! ça fais presque 1h que je cherche et je devrai déjà avoir pas mal avancé!

un grand merci à celui qui me sauvera!

Salut, ta formule ne marche pas car tu "n'encadres pas" tes codes postaux correctement.

Pour Antwerpen, par exemple, il faut que le code soit inférieur à 3000 ET supérieur (ou égal) à 2000.

voici la formule, change le SI et le ET dans la langue requise

=SI(I7<2000;"BRUSSEL";SI(ET(I7=>2000;I7<3000);"ANTWERPEN";SI(ET(I7=>3000;I7<3500);"VLAAMS BRABANT";SI(ET(I7=>3500;I7<4000);"LIMBURG";SI(ET(I7=>4000;I7<5000);"LUIK";SI(ET(I7=>5000;I7<6000);"NAMEN";SI(ET(I7=>6000;I7<6600);"HENEGOUWEN";SI(ET(I7=>6600;I7<7000);"VLANDEREN";SI(ET(I7=>7000;I7<9999);"OOST VLANDEREN";"")))))))))

Salut Justine et bienvenue sur le Forum,

Comme tu as une version Excel 2010, tu peux imbriquer plus que 7 fonctions SI, comme tu peux le voir dans le fichier ci-joint à la cellule D7. Il suffit juste d'imbriquer correctement ces formules SI (ta formule contient plusieurs erreurs différentes).

Par contre ce serait quand même plus simple de travailler avec une formule RECHERCHEV, comme j'en ai placée une dans la cellule D5. Mais dans ce cas-là, tu es obligée d'avoir un tableau tel que celui que j'ai placé dans les colonnes K et L. Ce tableau pourrait toutefois être caché d'une manière ou d'une autre.

Cordialement.

EDIT : Oups, selon la réponse de Game Over que je découvre à l'instant - et dont je salue l'auteur - je me rends compte que je n'ai peut-être pas compris cette particularité régionale

7justinedec.xlsx (10.71 Ko)
Yvouille a écrit :

EDIT : Oups, selon la réponse de Game Over que je découvre à l'instant - et dont je salue l'auteur - je me rends compte que je n'ai peut-être pas compris cette particularité régionale

Salut Yvouille,

je pense effectivement que ce que veut Justine est une imbrication de SI qui permettra de prendre en charge les codes postaux intermédiaires, exp : 2 200; 3 350 etc... en supposant que le système des codes postaux soit similaire à celui de la France.

Cordialement.

Bonjour

Ma contribution

Désolé si ce n'est pas ça

Re bonjour tout le monde,

Comme indiqué dans ma première réponse, je n’avais pas compris que les codes postaux allait de O à 1999 pour Brussel, de 2000 à 2999 pour Antwerpen, etc.

Maintenant, en regardant la chose d’un peu plus prêt, je pense quand même que Game Over complique un peu les choses. Il n’est selon moi pas nécessaire d’encadrer les codes, la première condition excluant déjà une partie des possibilités. Pour le démontrer, j’ai placé dans le fichier ci-joint la formule de Game Over et une version simplifiée.

Comme les indications de lieu de Game Over ne correspondent pas à ceux de Justine, j’y ai également placé la formule de Justine corrigée.

Cordialement.

EDIT : Bonjour Banzai Décidément, je loupe beaucoup d'intervention aujourd'hui.

9justinedec-v2.xlsx (12.01 Ko)

je suis super contente de voir toutes vos réponses!

mais problème, comment je fais pour copier une formule pour la mettre sur un autre document?

désolé je ne suis pas doué en excel =(

Sur ta feuille Excel, tu cliques sur la cellule contenant la formule à copier (dans l'image ci-dessous la cellule I7, le cadre bleu en bas), tu copies la formule (ici ta formule en allemand) - après l'avoir sélectionnée - dans la barre de formule, à coté du fx (cadre bleu en haut) puis tu la colles où ça te dis.

Dans mon exemple, la barre de formule a été ouverte de trois lignes vers le bas.

27 03

Cordialement.

Yvouille a écrit :

Maintenant, en regardant la chose d’un peu plus prêt, je pense quand même que Game Over complique un peu les choses. Il n’est selon moi pas nécessaire d’encadrer les codes, la première condition excluant déjà une partie des possibilités. Pour le démontrer, j’ai placé dans le fichier ci-joint la formule de Game Over et une version simplifiée.

bien vu, je ne pensais pas qu'Excel gérait les exclusions sans encadrement...

Yvouille a écrit :

Comme les indications de lieu de Game Over ne correspondent pas à ceux de Justine, j’y ai également placé la formule de Justine corrigée.

Suite à ton message, je viens de m'apercevoir que la formule de Justine apparait de façon tronquée sur mon écran, donc la fin de ma formule est inexacte...

Rechercher des sujets similaires à "mettre fois fonction formule"