web-dev-qa-db-ja.com

Excel / Calcで数値を小数点で区切る方法は?

スプレッドシートに次のような数字があります:28.686279

このシートをLibreOffice CalcまたはMicrosoft Excelで開くと、「整数」を返す数式関数があります。 28.また、「小数部」を返す式があります。 0.686279

10
hpy

TRUNC()は、任意の数値の小数部をすぐに削除し、非小数部を変更することなく設計されています。

したがって、 LinYanの回答 のように、次のように使用するだけです。

  • TRUNC(A1) _A1_の値の整数部分を取得する
  • A1-TRUNC(A1) _A1_の値の小数部を取得する

FLOOR()とは異なり、TRUNC()は正の数と負の数の両方で調整を必要とせずに機能し、Microsoft ExcelとLibreOfficeの両方で同じように機能します。

FLOOR()requires処理中の数値と同じ符号を持つ(またはエラーがスローされる)必要があるため、負の数値を処理するには、最後の_1_を_-1_に変更する必要があります。そうしないと、SIGN()を挿入して式をさらに複雑にすることができます。

また、OpenOfficeとLibreOfficeでは、FLOOR()に追加の(Excelと比較して)3番目の「モード」パラメーターがあり、負の数値に対して関数が返す結果を変更します。

15
DMA57361

a1の整数部分にはFLOOR関数、floor(A1,1)を試すことができます。A1の小数部分にはA1-floor(A1,1)を使用できます。

7
LiuYan 刘研

たとえば、A1が167.583であるとします。
int(A1)は167と
mod(A1,1)は0.583を返します。

5
Brian554xx

これを行うための特定の関数があるとは思わないでください。ただし、カップルをネストすることで可能です。

セルA1の10進数の右側の値を返そうとしているとすると、式は次のようになります。

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

ここで実際に行っているのは、MID関数を使用して、小数点から始まるいくつかの文字を返すことです。 A1への3つの参照はすべて、正しく機能するように、対象とするセルごとに更新する必要があります。

1
Alex Miller