Une autre formule horrible pour vous (je l'ai cassé vers le bas, donc je suis en utilisant quelques colonnes d'aide que vous pouvez cacher si visuellement ça a l'air pareil). Une partie de la horribleness est également due à vos données source ne pas avoir un format cohérent
Dans la colonne A
J'ai votre liste originale qui est stockée sous forme de texte (Excel ne reconnaît pas ces derniers comme une date ou nombre) Dans colonne B
pour obtenir la première partie, j'ai la formule
=IF(LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))=2, VALUE(LEFT(A2,FIND("/",A2)-1)),0)
dans la colonne C
pour obtenir le bit milieu je
=LEFT(RIGHT(A2,IF(LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))=2,LEN(A2)-FIND("/",A2),LEN(A2))),FIND("/",RIGHT(A2,IF(LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))=2,LEN(A2)-FIND("/",A2),LEN(A2))))-1)
puis dans la colonne D
Je reçois le dernier bit en utilisant:
=RIGHT(A2,LEN(A2)-FIND("/",A2,IF(LEN(A2)-LEN(SUBSTITUTE(A2, "/", ""))=2,FIND("/",A2)+1,1)))
Je mets alors tous ensemble dans la colonne E
et le format à l'aide
=TEXT(B2,"00")&"/"&TEXT(C2, "00") &"/"&TEXT(D2,"0")&REPT(0,4-LEN(D2))
Pour obtenir votre sortie
Vous pourriez bien sûr combiner tout cela en une seule formule, je l'ai juste décomposé pour un peu de clarté (bien que ce soit encore assez sombre):
=TEXT(IF(LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))=2, VALUE(LEFT(A2,FIND("/",A2)-1)),0),"00")&"/"&TEXT(LEFT(RIGHT(A2,IF(LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))=2,LEN(A2)-FIND("/",A2),LEN(A2))),FIND("/",RIGHT(A2,IF(LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))=2,LEN(A2)-FIND("/",A2),LEN(A2))))-1), "00") &"/"&TEXT(RIGHT(A2,LEN(A2)-FIND("/",A2,IF(LEN(A2)-LEN(SUBSTITUTE(A2, "/", ""))=2,FIND("/",A2)+1,1))),"0")&REPT(0,4-LEN(RIGHT(A2,LEN(A2)-FIND("/",A2,IF(LEN(A2)-LEN(SUBSTITUTE(A2, "/", ""))=2,FIND("/",A2)+1,1)))))
Je pense que vous devrez d'abord créer un format personnalisé, ou utiliser d'autres formules pour le créer. Parce que sur le premier et deuxième ##/s'il n'y a qu'un seul chiffre, un zéro est ajouté à gauche et s'il est/#### moins de 4 chiffres, les zéros sont ajoutés à droite. Avec cette information, vous pouvez faire une formule logique pour le faire. – danieltakeshi
Le problème que vous avez est que vous essayez de faire un format numérique sur le texte – Tom
Vous auriez besoin de code VBA pour le faire. –