2 votes

Excel: comment supprimer les caractères au début d'une chaîne avec une fonction?

J'ai une colonne de texte dans Excel remplie de valeurs hexadécimales comme ceci :

0000000000000c10
00000000000036f0
00000000000274da
00000000000379e0

Quelle fonction peut m'aider à supprimer les 0 initiaux jusqu'au premier caractère non-0 ? Résultat souhaité :

c10
36f0
274da
379e0

Cela m'aiderait à alimenter la fonction HEX2DEC.

3voto

Une autre approche consisterait à convertir en décimal puis à revenir en arrière. La fonction de feuille de calcul HEX2DEC n'acceptera que 10 chiffres/caractères en entrée mais RIGHT s'occupera de cela. Convertir instantanément en arrière avec DEC2HEX (en laissant le paramètre optionnel [places] hors de l'équation) devrait résulter en une valeur HEX taillée.

           HEX to DEC to HEX

La formule dans B1 est,

=DEC2HEX(HEX2DEC(RIGHT(A1,10)))

Remplissez vers le bas si nécessaire. La fonction DEC2HEX pourrait ajouter des zéros de remplissage jusqu'à 10 places mais si vous avez besoin de retrouver vos zéros de remplissage pour un maximum de 16 emplacements de chiffres alors,

=RIGHT(REPT(0, 16)&B1, 16)

2voto

pkmk Points 481

D'accord, trouvé.

En supposant que les valeurs sont dans un tableau, et que sa colonne s'appelle "Colonne1" :

=REMPLACER([@Colonne1],1,TROUVE(GAUCHE(SUBSTITUE([@Colonne1],"0","")),[@Colonne1])-1,"")

Cela produira la sortie désirée comme indiqué dans la question.

Le coeur de la solution est géré par cette formule, qui compte les 0 avant la valeur textuelle que nous recherchons.

=TROUVE(GAUCHE(SUBSTITUE([@Colonne1],"0","")),[@Colonne1])-1

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X