J'ai un tas de données, par exemple:
FOB0046WHT White business casual plain classic fit 20.8 41.7 1 2 24 24 24 0 20.8 1 0 12.2 0.584 24.3
FOB0083BLU Denim blue business casual plain extra slim fit 14.5 58.2 1 4 1 1 1 0 43.6 3 -29.1 6 0.413 24.2 0.416
FOB0184NPK Navy and pink business casual double face slim fit 16.6 16.6 1 1 0 0 0 0 0 0 16.6 5 0.303 5 0.303
FOB0186SKY Sky business casual non iron button down classic fit 90.3 90.3 4 4 19 4.8 19 0 0 0 90.3 49.4 0.548 49.4 0.548
FOB0186WHT White business casual non iron button down classic fit 83.4 83.4 3 3 6 2 6 0 0 0 83.4 73.5 0.882 73.5 0.882
FOB0188WHT White business casual non iron button down slim fit 104.2 164.6 5 8 33 6.6 33 0 60.4 3 43.7 53.2 0.51 80.5 0.489
FOB0209SKY Sky non iron extra slim fit business casual dobby grid shirt 60.4 102.1 3 5 24 8 24 0 41.7 2 18.8 33.6 0.556 57.4 0.562
FOB0046CHA Charcoal classic fit business casual shirt 145.8 187.5 7 9 20 2.9 20 0 41.7 2 104.2 83.5 0.573 107.4 0.573
FOB0046CHM Chambray denim classic fit business casual shirt 20.8 20.8 1 1 0 0 0 0 0 0 20.8 11.8 0.568 11.8 0.568
FOB0046IDG Indigo classic fit business casual shirt 20.8 20.8 1 1 0 0 0 0 0 0 20.8 11.8 0.566 11.8 0.566
FOB0083CHA Charcoal extra slim fit business casual shirt 20.8 20.8 1 1 0 0 0 0 0 0 20.8 12.5 0.601 12.5 0.601
FOB0083CHM Chambray denim extra slim fit business casual shirt 57.7 57.7 3 3 0 0 0 0 0 0 57.7 32.7 0.566 32.7 0.566
FOB0083IDG Indigo extra slim fit business casual shirt 104.2 104.2 5 5 21 4.2 21 0 0 0 104.2 62.3 0.598 62.3 0.598
FOB0112CHM Chambray denim slim fit business casual shirt 76.4 97.3 4 5 24 6 24 0 20.8 1 55.6 41 0.537 53 0.545
FOB0186LPK Light pink non iron classic fit bus cas button down shirt 62.5 62.5 3 3 20 6.7 20 0 0 0 62.5 32.9 0.527 32.9 0.527
J'utilise texte à colonne, mais comme le nombre de mots est différent, les chiffres ne sont pas alignés, y a-t-il moyen de les récupérer dans les colonnes correspondantes?
microsoft-excel
alignment
Sean Hullah
la source
la source
"
autour du texte?Réponses:
Avec des données comme celle-ci dans la colonne A :
Lancer cette courte macro:
produira ceci dans les colonnes B et au-delà:
la source
UBZIFZIFF My random text with 1 number inside 20 12 13 43 1.23
produirait une sortie différenteSi vous préférez une solution non VBA utilisant une formule volumineuse, essayez ce qui suit:
=RIGHT(RIGHT(A2,LEN(A2)-FIND(" ",A2,1)),LEN(RIGHT(A2,LEN(A2)-FIND(" ",A2,1)))-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},RIGHT(A2,LEN(A2)-FIND(" ",A2,1))&"0123456789"))+1)
Il trouvera la première place du numéro après le premier espace (après le premier mot qui contient 46 FOB0046WHT) et le résultat sera l’ensemble des nombres d’une cellule. Vous pouvez ensuite utiliser Texte pour les colonnes après avoir copié le résultat et Coller spécial. Valeurs.
la source
Voici une solution avec des expressions régulières. Pour l'utiliser, vous aurez besoin du complément RegEx Find / Replace .
=RegExFind(A1,"[A-Z0-9]*")
=RegExReplace(A1,"[A-Z0-9]* (.*[a-z]) [0-9. ]*","$1")
=RegExFind(SUBSTITUTE($A1,$B1&" "&$C1&" ",""),"[0-9.-]* ",COLUMN()-3)
Cela fonctionne également correctement si le texte contient des nombres, conserve tout jusqu'à la dernière lettre de la description.
la source