対象:Excel2003, Excel2007, Excel2010, Excel2013
Excelをお使いの方から、
「数値の小数点以下・小数部分だけを取得するにはどうすればいいのでしょうか?」
といったご質問をいただくことがあります。
このサイトへも
「excel 関数 小数点以下 取得」
「エクセル 小数点以下 取得したい」
といった検索でのアクセスが見られます。
[スポンサードリンク]
引き算で小数点以下を取得する
簡単なのは、整数部分を引き算する方法です。
▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに正の数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=A1-INT(A1)」
という数式を入力する
※A1セルに正の数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=A1-INT(A1)」
という数式を入力する
INT関数を使うと数値の整数部分が取得できますから、その整数を、元の数値から引き算すれば、小数部分だけが取得できます。
元の数値が正の値・プラスの値に限定されているのなら、上記のINT関数を使った数式でOKですが、負の値・マイナスの値である可能性があるのなら、INT関数ではダメです。
▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=A1-TRUNC (A1)」
という数式を入力する
※A1セルに数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=A1-TRUNC (A1)」
という数式を入力する
INT関数は、引数に指定された数値を超えない最大の整数を返す・数値を小さいほうに丸める関数ですので、元の数値がマイナスの場合があるのなら、TRUNC関数を使いましょう。
割り算で小数点以下を取得する
整数部分を引き算する上記の方法が、理解しやすいと思いますが、参考までに他の方法もご紹介しておきます。
▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに正の数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=MOD(A1, 1)」
という数式を入力する
※A1セルに正の数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=MOD(A1, 1)」
という数式を入力する
割り算の余りだけを計算するMOD関数を使って、1で割り算をして余りを求めることで、小数部分だけを取得する方法です。
この方法でもマイナスの数値のときには、上手くいきませんので、負の数値があるという場合は以下のような数式にしてください。
▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに0でない数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=MOD(A1, SIGN(A1))」
という数式を入力する
※A1セルに0でない数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=MOD(A1, SIGN(A1))」
という数式を入力する
SIGN関数は引数に指定された数値が、正の値ならば「1」、負の値ならば「-1」、「0」ならば「0」を返す関数です。
元の数値が「0」でなければ、この「=MOD(A1, SIGN(A1))」でOKなのですが、「0」の可能性があるときは、「0」で割り算することになりエラーとなってしまいます。
▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=IF(A1=0, 0, MOD(A1, SIGN(A1)))」
という数式を入力する
※A1セルに数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=IF(A1=0, 0, MOD(A1, SIGN(A1)))」
という数式を入力する
元の数値が「0」のケースがあるのなら、上記のようにIF関数を使って、元の数値が「0」のときには「0」という処理を追加する必要があります。
やっぱり、先にご紹介したINT関数かTRUNC関数を使った引き算による方法が、数式がシンプルで理解もしやすく、良さそうに感じます。
[スポンサードリンク]
Home » Excel(エクセル)の関数・数式の使い方 » 数学 » 小数点以下を取得する-INT・TRUNC・MOD関数