101 votes

Formater un nombre avec des décimales facultatives dans Excel

J'ai des chiffres dans des cellules d'Excel. Je veux que les nombres soient formatés de sorte que s'ils ont des décimales, ils s'affichent jusqu'à un maximum de deux, et s'ils n'ont pas de décimales, ils n'en affichent aucune.

Par exemple.

  • 15 doit être formaté comme 15, PAS 15.00
  • 14.3453453 doit être formaté comme 14.35
  • 12.1 doit être formaté comme 12.1
  • 0 doit être formaté comme 0

Le code de format personnalisé le plus proche que j'ai trouvé est le suivant 0.## . Malheureusement, ces formats 15.00 comme 15. (notez le point décimal supplémentaire).

Pour compliquer encore le problème, la feuille de calcul est le résultat d'une exportation à partir de SQL Server Reporting Services. Les macros ne sont donc pas possibles. Enfin, on dirait que 0.## est mon meilleur pari, et ils peuvent juste vivre avec la période supplémentaire.

0voto

Suite à l'excellente réponse de Luke ci-dessus, voici une variation basée sur son travail. Je ne voulais pas avoir un zéro dans la cellule s'il n'y avait pas de valeur. J'ai laissé le format de cellule comme général et j'ai utilisé cette formule :

=IF((A1=""), "",IF(ROUND(A1,2)=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.0#")))

Encore une fois, où A1 est la cellule référencée.

0voto

Utilisation de la Round pour fournir des chiffres significatifs. Cela ne change pas le nombre de décimales affichées. Il suffit de formater la cellule avec general format numérique cependant.

ROUND(MyValue,Sig.figs - 1 - INT(LOG10(ABS(MyValue)))

0voto

user228931 Points 1
B1=IF(ROUND(A1,2)=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.##"))
C1=IF(ROUND(B1,2)=INT(B1),TEXT(B1,"0"),TEXT(B1,"0.##"))

Plus de points décimaux orphelins.

0voto

lookingforsame Points 1

Cela semble être la façon la plus simple d'afficher une décimale lorsqu'il y a des nombres fractionnaires - et de ne pas afficher de décimale pour les nombres entiers :

=TEXT(ROUND(Base_Number,Max_Decimal_Places),"general")

ou avec des références de cellules :

=TEXT(ROUND(A1,2),"general")

Donne

15 = 15
9.23432234 = 9.23

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