Comment empêcher TEXT () d'arrondir les nombres

1

J'essaie d'afficher un pourcentage avec une décimale, au milieu d'une chaîne de texte à l'aide de

="..." & TEXT(A1/A2,"0.0%") & "..." (simplifié)

Mais mes valeurs continuent d’arrondir à des nombres entiers comme 5au lieu de 4.9pour 4.99995

J'ai consulté la documentation officielle de Microsoft mais, autant que je sache, "0.0%"devrait faire ce que je veux, il n'est pas question d'arrondir.

J'ai également essayé "0.#%"comme chaîne de format, mais le problème d'arrondi est le même. Je ne souhaite pas l'utiliser "0.####%"car je ne souhaite pas afficher plusieurs décimales.

Exemple de sortie

Input      Output     Desired Output
4.99     ...5.0%...     ...4.9%...
4.89     ...4.9%...     ...4.8%...
4.5      ...4.5%...     ...4.5%...
4.55     ...4.6%...     ...4.5%...
4.54     ...4.5%...     ...4.5%...
4.8994   ...4.9%...     ...4.8%...
Troyseph
la source
Qu'est-ce qui se passe avec 4.8994?
Mark Fitzgerald
1
TEXT(INT(A/B*1000)/1000,"0.0%")
Máté Juhász
1
Ce n'est pas un hack, c'est une solution à un problème assez rare, comme je l'ai expliqué ci-dessus, ce que vous essayez de faire n'est pas celui que les gens font généralement.
Máté Juhász
1
autre approche pourrait consister à utiliser ARRONDI.INF ou TRONQUE, ils se comportent de la même, la différence est dans leur comportement avec des nombres négatifs (TRONQUE arrondit à 0, ARRONDI.INF arrondit plus petit entier)
Máté Juhász
1
@ MátéJuhász TRUNCest exactement ce que je cherchais, la solution est="..." & TRUNC((A1/A2) * 100, 1) & "%..."
Troyseph