¿Cómo separar el número por su punto decimal en Excel / Calc?

10

Tengo un número en una hoja de cálculo así: 28.686279

Cuando abro esta hoja en LibreOffice Calc o Microsoft Excel, ¿hay una función de fórmula que devuelve el "número entero", es decir, 28. Además, ¿hay una fórmula que devuelve la "parte decimal", es decir 0.686279?

hpy
fuente

Respuestas:

15

TRUNC() está diseñado para eliminar la parte decimal de cualquier número inmediatamente y sin ninguna modificación a la parte no decimal.

Entonces, según la respuesta de LinYan , solo necesita usar:

  • TRUNC(A1) para obtener la parte entera del valor en A1
  • A1-TRUNC(A1) para obtener la parte fraccionaria del valor en A1

A diferencia FLOOR(), TRUNC()funciona en números positivos y negativos sin requerir ajustes, y funciona de la misma manera en Microsoft Excel y LibreOffice.

FLOOR() requiere que el parámetro de significación tenga el mismo signo que el número que se está procesando (o de lo contrario arrojará un error), por lo que 1al final tendría que cambiarse -1para procesar números negativos, o podría insertar SIGN()y complicar innecesariamente la fórmula.

Y, en OpenOffice y LibreOffice, FLOOR()también tiene un tercer parámetro "modo" adicional (en comparación con Excel) que cambia los resultados que la función devuelve para números negativos.

DMA57361
fuente
7

puede probar la FLOORfunción, floor(A1,1) para la parte entera de A1, A1-floor(A1,1)para la parte decimal de A1.

LiuYan 刘 研
fuente
1
Solo me pregunto, ¿por qué no hay alguna forma de función FRAC (A1) para recuperar la parte decimal? Parece que eso es algo que la gente hace con bastante frecuencia, ¿verdad?
Alexis Wilke
¿Qué hay de los negativos ...
Robert Koritnik
5

Por ejemplo, imagine que A1 es 167.583:
int(A1)daría 167 y
mod(A1,1)daría 0.583.

Brian554xx
fuente
Te das cuenta de eso int(1.6) === 1y int(-1.6) === -2... Pero trunc(decimal;0)funciona correctamente para ambos.
Robert Koritnik el
1

No piense que hay una función específica para hacer esto, sin embargo, al anidar un par puede hacerlo.

Suponiendo que está intentando devolver el valor del derecho de decimal para la celda A1, la fórmula sería:

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

Efectivamente, lo que está haciendo aquí es usar la función MID para devolver cierto número de caracteres comenzando en el punto decimal. Las 3 referencias a A1 deben actualizarse para cada celda a la que apunta para que funcione correctamente.

Alex Miller
fuente
Esto devuelve texto en lugar de un número.
fixer1234
-3
=RIGHT(TEXT(ABS(A1)-INT(ABS(A1));",00");2)

¿No sería perfecto y estético también?

Paul Fischer
fuente
Esto devuelve texto en lugar de un número.
fixer1234