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.

42voto

Ross Points 421

Vous pouvez également résoudre le problème du point décimal "facultatif" en utilisant la solution suivante :

Format du numéro : General;[Red](General)

Cela ajoutera la décimale et la valeur fractionnelle en conséquence, tout en formatant les nombres négatifs de manière plus lisible.

En ce qui concerne la question initiale de l'auteur de l'article, vous devez toujours arrondir/tronquer les décimales "supplémentaires" à l'aide d'une formule. Cependant, il s'agit d'une formule simple de =ROUND(<value>,<desired decimal places>) qui ne soit pas extrêmement coûteux en termes de calcul.

Exemples :

2500 -> 2500
0.25 -> 0.25
-2500 -> (2500)
-0.25 -> (0.25)

22voto

mopo Points 1

Les formats personnalisés d'Excel peuvent fournir une réponse partielle

Les formats personnalisés pour les nombres dans Excel sont saisis dans ce format :

  • format de nombre positif;format de nombre négatif;format de zéro;format de texte

Un format qui se rapproche de votre exigence, mais qui laisse la décimale pour les nombres sans décimale, est le suivant :

#,###.??;(#,###.??);0

Exemple :

  • 15 est affiché comme 15.
  • 14.3453453 est affiché comme 14.35
  • 12.1 est affiché comme 12.1
  • 0 est affiché comme 0

22voto

Appliquer la mise en forme conditionnelle pour les nombres non décimaux.

Par exemple, A1 est la cellule cible.

  1. Formatez A1 comme "###,###.00". Ceci sera utilisé pour les nombres décimaux.
  2. Définir la mise en forme conditionnelle pour les nombres non décimaux.

    • Condition : Valeur de la cellule égale à =TRUNC(A1).
    • Format : ###,###

Voici le résultat :

12       =>  12
14.231   => 14.23
15.00000 => 15
17.3     => 17.30

6voto

Droj Points 539

J'ai rencontré ce problème récemment dans Excel 2007 et j'ai fini par utiliser la fonction "TRUNC" dans les cellules de valeur :

  value  =TRUNC(B5,1)
      0      0
      5      5
    5.4    5.4
  65.43   65.4
765.432  765.4

Cela a fonctionné exactement comme je le voulais...

6voto

Thomas Vos Points 3772

Voici une méthode utilisant le formatage conditionnel.

  1. Faites un clic droit sur votre cellule, choisissez "Format Cell".

  2. Sélectionnez "Personnalisé".

  3. Entrez "0.####" (ajoutez plus ou moins de # pour contrôler le nombre maximum de décimales)

  4. Cliquez sur OK

  5. Avec la cellule toujours sélectionnée, utilisez la "mise en forme conditionnelle" (il peut s'agir d'un élément de menu dans Format ou d'un bouton dans Accueil, selon votre version d'Excel).

  6. Ajouter une nouvelle règle, basée sur la formule "=MOD(H32,1)=0".

    modifier - La meilleure formule est "=MOD(ROUND(H32,2),1)=0", le '2' étant le nombre de décimales souhaité. La formule précédente laisse le point décimal arrière si le nombre est arrondi à un nombre entier.

    Remplacez H32 dans la formule par l'ID de votre cellule, mais ASSUREZ-VOUS QU'IL N'Y A PAS DE SIGNE $ ! (L'absence de signes $ vous permet de copier le format dans d'autres cellules).

  7. Pour le format de cette règle, sélectionnez l'onglet des numéros, choisissez "Personnalisé".

  8. Cette fois, entrez la formule "0"

  9. Cliquez sur OK suffisamment de fois pour revenir à la feuille (cela varie selon les versions d'Excel).

Voilà, profitez-en de manière responsable ! Si vous voulez copier le format dans d'autres cellules, rappelez-vous que vous pouvez copier la cellule et utiliser le "Collage spécial" avec l'option "Format".

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