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


10

私は次のようなスプレッドシートに数値を持っています: 28.686279

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

回答:


15

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

したがって、LinYanの回答に従って、使用する必要があるのは次のとおりです。

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

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

FLOOR() 有意性パラメータには処理中の数値と同じ符号が必要です(そうでない場合はエラーがスローされます)。したがって1、末尾のを変更し-1て負の数値を処理するSIGN()必要があります。そうしないと、数式を挿入して不必要に複雑にする可能性があります。

また、OpenOfficeおよびLibreOfficeにFLOOR()は、関数が負の数値に対して返す結果を変更する3番目の「モード」パラメーター(Excelに比べて)も追加されています。


7

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


1
ただ疑問に思って、小数部を取得するFRAC(A1)関数の形式がないのはなぜですか?よくあることですね。
Alexis Wilke 2013

ネガはどうですか...
Robert Koritnik

5

たとえば、A1が167.583だとすると
int(A1)、167
mod(A1,1)が得られ、0.583が得られます。


あなたはそれを理解し、int(1.6) === 1そしてint(-1.6) === -2...しかしtrunc(decimal;0)、両方に対して正しく動作します。
Robert Koritnik 2016年

1

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

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

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

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


これは、数値ではなくテキストを返します。
fixer1234 2014

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.