Comment séparer le nombre par son point décimal dans Excel / Calc?

10

J'ai un numéro dans une feuille de calcul comme ceci: 28.686279

Lorsque j'ouvre cette feuille dans LibreOffice Calc ou Microsoft Excel, existe-t-il une fonction de formule qui renvoie le "nombre entier", c'est-à-dire 28. Existe-t-il également une formule qui renvoie la "partie décimale", c'est 0.686279-à- dire ?

hpy
la source

Réponses:

15

TRUNC() est conçu pour supprimer la partie décimale de n'importe quel nombre immédiatement et sans aucune modification de la partie non décimale.

Donc, selon la réponse de LinYan , il vous suffit d'utiliser:

  • TRUNC(A1) pour obtenir la partie entière de la valeur A1
  • A1-TRUNC(A1) pour obtenir la partie fractionnaire de la valeur A1

Contrairement à FLOOR(), TRUNC()fonctionne sur les nombres positifs et négatifs sans nécessiter d'ajustement, et fonctionne de la même manière dans Microsoft Excel et LibreOffice.

FLOOR() requiert que le paramètre de signification ait le même signe que le nombre en cours de traitement (sinon il générera une erreur), de sorte que 1la fin devra être modifiée -1pour traiter les nombres négatifs, ou vous pourriez insérer SIGN()et compliquer inutilement la formule.

Et, dans OpenOffice et LibreOffice, a FLOOR()également un troisième paramètre "mode" supplémentaire (par rapport à Excel) qui modifie les résultats que la fonction renvoie pour les nombres négatifs.

DMA57361
la source
7

vous pouvez essayer la FLOORfonction, floor(A1,1) pour la partie entière de A1, A1-floor(A1,1)pour la partie décimale de A1.

LiuYan 刘 研
la source
1
Je me demande simplement pourquoi il n'y a pas de fonction FRAC (A1) pour récupérer la partie décimale? Il semble que c'est quelque chose que les gens font assez souvent, non?
Alexis Wilke
Et les négatifs ...
Robert Koritnik
5

Par exemple, imaginez A1 est 167,583:
int(A1)donnerait 167 et
mod(A1,1)donnerait 0,583.

Brian554xx
la source
Vous vous rendez compte de cela int(1.6) === 1et int(-1.6) === -2... Mais cela trunc(decimal;0)fonctionne correctement pour les deux.
Robert Koritnik
1

Ne pensez pas qu'il existe une fonction spécifique pour ce faire, cependant en imbriquant un couple, vous pouvez.

En supposant que vous essayez de renvoyer la valeur décimale pour la cellule A1, la formule serait:

=MID(A1,SEARCH(".",A1,1)+1,LEN(A1))

En fait, ce que vous faites ici, c'est d'utiliser la fonction MID pour renvoyer un certain nombre de caractères à partir de la virgule décimale. Les 3 références à A1 doivent être mises à jour pour chaque cellule que vous ciblez pour qu'elle fonctionne correctement.

Alex Miller
la source
Cela renvoie du texte plutôt qu'un nombre.
fixer1234
-3
=RIGHT(TEXT(ABS(A1)-INT(ABS(A1));",00");2)

cela ne serait-il pas simplement parfait et esthétique aussi?

Paul Fischer
la source
Cela renvoie du texte plutôt qu'un nombre.
fixer1234