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

Résolu/Fermé
Julius - 22 avril 2017 à 11:29
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 - 25 avril 2017 à 11:25
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 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié le 22 avril 2017 à 11:58
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 lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
Modifié le 22 avril 2017 à 21:05
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
Merci vraiment bcp Mike-31...
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié le 24 avril 2017 à 10:02
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
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 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
25 avril 2017 à 11:25
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