SOS erreur dans une formule excel avec des SI imbriqués

Résolu
Julius -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Pourriez-vous m'aider ma formule me donne une réponse d'erreur.

=SI('Bookinglist FSA'!H2=20ft DC;"20";SI('Bookinglist FSA'!H2=40ft HCRF;"40";SI('Bookinglist FSA'!H2=20ft RF;"20";SI('Bookinglist FSA'!H2=40ft HC;"40";SI('Bookinglist FSA'!H2=40ft DC;"40";SI('Bookinglist FSA'!H2=Car in C.;"Car in C.";SI('Bookinglist FSA'!H2=Car;"Car";SI('Bookinglist FSA'!H2=Flatrack;"Flatrack";SI('Bookinglist FSA'!H2=40ft IMO;"40";SI('Bookinglist FSA'!H2=20ft IMO;"20";SI('Bookinglist FSA'!H2=Bulk;"Bulk")))))))))))

Si c'est juste le problème ne vient-il pas du fait que je me refère à liste déroulante?
A voir également:

4 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

c'est ton texte qui doit être entre guillemet pas tes valeurs numérique
=SI('Bookinglist FSA'!H2="20ft DC";20;SI('Bookinglist FSA'!H2="40ft HCRF";40;SI('Bookinglist FSA'!H2="20ft RF";20;SI('Bookinglist FSA'!H2="40ft HC";40;SI('Bookinglist FSA'!H2="40ft DC";40;SI('Bookinglist FSA'!H2="Car in C.";"Car in C.";SI('Bookinglist FSA'!H2="Car";"Car";SI('Bookinglist FSA'!H2="Flatrack";"Flatrack";SI('Bookinglist FSA'!H2="40ft IMO";40;SI('Bookinglist FSA'!H2="20ft IMO";20;SI('Bookinglist FSA'!H2="Bulk";"Bulk")))))))))))

mais tu peux simplifier ta formule avec des SI(OU(
=SI(OU('Bookinglist FSA'!H2="20ft DC";'Bookinglist FSA'!H2="20ft RF";'Bookinglist FSA'!H2="20ft IMO");20;SI(OU('Bookinglist FSA'!H2="40ft HCRF";'Bookinglist FSA'!H2="40ft IMO";'Bookinglist FSA'!H2="40ft HC";'Bookinglist FSA'!H2="40ft DC");40;'Bookinglist FSA'!H2))

et si tu nommes ta cellule H2 onglet Bookinglist FSA par exemple FSA
ta formule devient
=SI(OU(FSA="20ft DC";FSA="20ft RF";FSA="20ft IMO");20;SI(OU(FSA="40ft HCRF";FSA="40ft IMO";FSA="40ft HC";FSA="40ft DC");40;FSA))

A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
1
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonsoir

et salut Mike

je pense qu'il est encore possible de raccourcir (d'après ta formule avec la cellule nommée), soit:

=SI(NB.SI(FSA;"20 ft*");20;SI(NB.SI(FSA;"40 ft*");40;FSA)

ou encore:

=SI(OU(GAUCHE(FSA;2)="40";GAUCH(FSA;2)="20");GAUCHE(FSA;2);FSA)

crdlmnt
0
Julius
 
Merci vraiment bcp Mike-31...
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

as tu testé les propositions également de l'ami Vaucluse que je salue et qui effectivement pourrait s'écrire encore plus court
=SI(NB.SI(FSA;"20*")>0;20;SI(NB.SI(FSA;"40*")>0;40;FSA))

A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
0
Julius
 
Mike 31 & Vaucluse, merci bcp. J'ai essayé la formule de Vaucluse ce matin est ça m'a permis de résoudre mon souci. Mais dans la continuité de mon tableau je ne sais pas l'appliqué donc j'ai revenir à ma formule(longue) pour continuer mais problème persiste. la voilà

=SI('Bookinglist FSA'!I3="40ft DC";"DC";SI('Bookinglist FSA'!I3="20ft DC";"DC";SI('Bookinglist FSA'!I3="40ft DC";"DC";SI('Bookinglist FSA'!I3="40ft HCRF";"HCRF";SI('Bookinglist FSA'!I3="20ft RF";"RF";SI('Bookinglist FSA'!I3="Car in C.";"Car in C.";SI('Bookinglist FSA'!I3="Car";"Car";SI('Bookinglist FSA'!I3="Flatrack";"Flatrack";SI('Bookinglist FSA'!I3="40ft IMO";"IMO";SI('Bookinglist FSA'!I3="20ft IMO";"IMO";SI('Bookinglist FSA'!I3="Bulk";"Bulk")))))))))))


et cette partie-ci 'Bookinglist FSA'!I3="40ft DC";"DC" contrairement à tous les autres donnes faux ou réecris 40ft HC au lieu de HC tout court.

en simplifiant peut etre que ca résoudra le problème mais je vois pas comment faire plus court.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

dans ta demande initiale tu souhaitais par exemple pour Bookinglist FSA'!I3="40ft DC"; afficher 40 et maintenant tu souhaites afficher DC
il faudrait savoir parce que ça change tout

alors comme je te le conseillais commence par nommer ta cellule I3 qui elle aussi a changée d'adresse onglet Bookinglist
pour cela active cette cellule et Gestionnaire de nom/ définir ou directement dans la barre d'adresse la nommer FSA ce qui écourtera énormément la formule et allègera ton fichier d’où un meilleur fonctionnement

ensuite utilise cette formule
=SI(OU(NB.SI(FSA;"20*")>0;NB.SI(FSA;"40*")>0);STXT(FSA;TROUVE(" ";FSA;1)+1;10);FSA) 

0