Imbriquer plusieurs fonctions SI

Résolu/Fermé
GuyWinfield - 24 févr. 2015 à 15:58
 GuyWinfield - 24 févr. 2015 à 17:06
Bonjour,

Je fais appel à votre aide car je me casse la tête avec 2 formules auquels je ne vois pas comment les imbriquer.
Voici ma formule principale qui sert à rendre toutes mes commandes sous un format homogènes:
=SI(ET(GAUCHE(A5;3)="820";NBCAR(A5)=14);A5;SI(OU(GAUCHE(A5;3)="000";STXT(A5;1;3)="820");STXT(A5;4;7)&B5;GAUCHE(B5;10)&B5))
Par contre, cette formule ne suffit pas car pour les commandes du genre "4315987" auquel j'ai trouvé la formule suivante:
=SI(ET(GAUCHE(A5;3)="000";STXT(A5;1;3)<>"820");STXT(A5;4;7)&B5;GAUCHE(A5;10)&B5)
Est-t-possible d'imbriquer ces 2 formules ? Voici les exigences:
Commande
00043159870010
0004315987
4315987
82043517560001
8204351756
00043159870200
0004315987
4315987
82043517560020
8204351756
82045621120001
Poste(Dans l'ordre respective)
0010
0010
0010
0001
0001
0200
0200
0200
0020
0020
0001
Résultat Attendu(Dans l'ordre respective)
43159870010
43159870010
43159870010
82043517560001
82043517560001
43159870200
43159870200
43159870200
82043517560020
82043517560020
82045621120001

Merci d'avance pour ce très très grand service!




1 réponse

via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
24 févr. 2015 à 16:29
Bonjour

Tu peux aussi utiliser cette formule :
=SUBSTITUE((CTXT(CNUM(A5);0));" ";"")&SI(NBCAR(SUBSTITUE((CTXT(CNUM(A5);0));" ";""))<11;B5;"")
qui commence par enlever les 0 en début de chaîne en la transformant en nombre puis en la retransformant en chaine en y enlevant les espaces puis qui rajoute B5 si la longueur de la chaîne est inférieure à 11
Cela marche pour les exemples que tu as donné
A vérifier que cela fonctionne sur une liste plus longue (c'est à dire que c'est bien pour toutes les chaînes expurgées inférieures à 11 caractère que le poste se rajoute

Cdlmnt
1
Ca marche très bien, je vais me méfier de la longeur des commandes pour pas que ça dépasse les 11 caractères. Merci énormément
0