web-dev-qa-db-fra.com

Problème avec le format numérique personnalisé dans Google Spreadsheet

J'ai une cellule numérique formatée de cette façon:

#,#" days";.

Néanmoins, si j'écris 1.5, le résultat est 1 days même si le contenu est toujours 1.5.

Sinon, si j'écris 1,5, le résultat sera tel qu'il est 1,5— sans le texte days.

Comme vous pouvez le voir sur la capture d'écran ci-dessous, selon la suggestion de sortie de formule, il devrait afficher 1,5 days.

number_format

Avez-vous une idée?

NOUVEAUX DÉTAILS:

@Jobob Jan Tuinstra: Merci, j'ai essayé votre solution du bouton augmenter le nombre de décimales qui ajoute le nombre décimal également lorsque le nombre décimal est 0. Je voudrais l'éviter. C'est l'objectif que j'atteindrais et je n'ai pas de réponse à cela.

Que se passe-t-il en faisant augmenter les décimales est la formule suivante:

enter image description here

Dans la colonne, quand j’ai des jours sans décimale comme 2 days, il affichera 2.0 days. J'aimerais éviter la correction manuelle avec "décimale décimale", car je dois gérer une quantité énorme de données.

1
GianlucaR

Je crains que ce soit plus répondre "avez-vous une idée?" plutôt que de donner une solution.

La principale question ici est votre région, comme mentionné dans votre commentaire sur la question. Les formats de nombre personnalisés ne sont pas agnostiques par rapport aux formats de nombre spécifiques aux paramètres régionaux. Dans le cas des paramètres régionaux britanniques, les virgules sont considérées comme des séparateurs de milliers et les points comme des séparateurs décimaux. Ainsi, votre format personnalisé #,#" days" consiste essentiellement à indiquer aux feuilles de formater avec une virgule comme séparateur de milliers, sans décimales (il est fonctionnellement équivalent à #,###" days".

Comme vous l'avez vu, lorsque vous entrez directement 1,5, il n'est pas du tout formaté, car dans les paramètres régionaux du Royaume-Uni, il n'est pas reconnu comme un nombre valide (ou une date, ni rien de numérique), et est stocké sous forme de texte. chaîne.

Il est donc possible de choisir une langue qui utilise une virgule comme séparateur décimal (par exemple, Italie). Cependant (et c’est un grand "cependant"), j’ai eu beaucoup de difficulté à faire en sorte que les formats personnalisés fonctionnent dans de tels endroits; l'implémentation semble laisser un peu à désirer.

Une autre option consiste à conserver vos paramètres régionaux actuels et à vous contenter d'un point pour un séparateur décimal et à utiliser le format #.# "days". Le "cependant" ici est que le point décimal est inclus même quand il n'est pas nécessaire (c'est-à-dire des nombres entiers), ce qui est irritant et je ne connais pas de solution de contournement dans Sheets utilisant uniquement le formatage personnalisé.

Une troisième option consiste à utiliser des formules de feuille de calcul pour reproduire les valeurs dans le format approprié. Les données reproduites sont des chaînes de texte. Vous devez donc toujours faire référence aux valeurs brutes (qui peuvent se trouver dans une colonne pouvant être masquées) dans des formules. L'inconvénient est bien sûr la duplication des données et une convivialité réduite.

Enfin, Google Apps Script pourrait convertir automatiquement les valeurs en chaînes de texte au format souhaité. Là encore, vous devrez envisager des formules faisant référence à ces cellules.

J'espère que cela vous donne une idée, et j'espère vraiment pouvoir supprimer cette réponse si quelqu'un a une solution étanche qui peut être obtenue uniquement avec un formatage personnalisé.

2
AdamL

Vous devez ajouter plus de décimales.

Capture d'écran

enter image description here

0
Jacob Jan Tuinstra