Come separare il numero in base al punto decimale in Excel / Calc?


10

Ho un numero in un foglio di calcolo in questo modo: 28.686279

Quando apro questo foglio in LibreOffice Calc o Microsoft Excel, c'è una funzione formula che restituisce il "numero intero", vale a dire 28. Inoltre, c'è una formula che restituisce la "parte decimale", vale a dire 0.686279?

Risposte:


15

TRUNC() è progettato per rimuovere la parte decimale di qualsiasi numero immediatamente e senza alcuna modifica alla parte non decimale.

Quindi, secondo la risposta di LinYan , devi solo usare:

  • TRUNC(A1) per ottenere la parte intera del valore in A1
  • A1-TRUNC(A1) per ottenere la parte frazionaria del valore in A1

Diversamente FLOOR(), TRUNC()funziona su entrambi i numeri positivi e negativi senza richiedere aggiustamenti e funziona allo stesso modo sia in Microsoft Excel che in LibreOffice.

FLOOR() richiede che il parametro significance abbia lo stesso segno del numero in elaborazione (altrimenti genererà un errore), quindi 1alla fine dovrebbe essere modificato -1per elaborare numeri negativi, oppure è possibile inserire SIGN()e complicare inutilmente la formula.

E, in OpenOffice e LibreOffice, FLOOR()ha anche un terzo parametro "mode" aggiuntivo (rispetto a Excel) che modifica i risultati restituiti dalla funzione per i numeri negativi.


7

puoi provare la FLOORfunzione, floor(A1,1) per la parte intera di A1, A1-floor(A1,1)per la parte decimale di A1.


1
Mi chiedo solo, perché non esiste una qualche forma di funzione FRAC (A1) per recuperare la parte decimale? Sembra che sia qualcosa che la gente fa abbastanza spesso, giusto?
Alexis Wilke,

Che ne dici di negativi ...
Robert Koritnik,

5

Ad esempio, immagina che A1 sia 167.583:
int(A1)darebbe 167 e
mod(A1,1)darebbe 0,583.


Ti rendi conto che int(1.6) === 1e int(-1.6) === -2... Ma trunc(decimal;0)funziona correttamente per entrambi.
Robert Koritnik,

1

Non pensare che ci sia una funzione specifica per farlo, tuttavia nidificando un paio puoi.

Supponendo che tu stia cercando di restituire il valore del decimale per la cella A1, la formula sarebbe:

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

In effetti ciò che stai facendo qui è usare la funzione MID per restituire un numero di caratteri a partire dal punto decimale. Tutti e 3 i riferimenti ad A1 devono essere aggiornati per ogni cella di destinazione affinché funzioni correttamente.


Ciò restituisce testo anziché un numero.
fixer1234,

-3
=RIGHT(TEXT(ABS(A1)-INT(ABS(A1));",00");2)

non sarebbe perfetto e anche estetico?


Ciò restituisce testo anziché un numero.
fixer1234,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.