本記事は下記サイトから引用しました。
小数点以下を取得するVBA-INT・TRUNC・MOD関数
http://vba-auto.com/shousuutennikawoshutoku/


Excelをお使いの方から、
「数値の小数点以下・小数部分だけを取得するにはどうすればいいのでしょうか?」
といったご質問をいただくことがあります。

このサイトへも
「excel 関数 小数点以下 取得」
「エクセル 小数点以下 取得したい」
といった検索でのアクセスが見られます。



引き算で小数点以下を取得する




簡単なのは、整数部分を引き算する方法です。

▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに正の数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=A1-INT(A1)」
という数式を入力する
INT関数を使うと数値の整数部分が取得できますから、その整数を、元の数値から引き算すれば、小数部分だけが取得できます。

元の数値が正の値・プラスの値に限定されているのなら、上記のINT関数を使った数式でOKですが、負の値・マイナスの値である可能性があるのなら、INT関数ではダメです。

▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=A1-TRUNC (A1)」
という数式を入力する



割り算で小数点以下を取得する




整数部分を引き算する上記の方法が、理解しやすいと思いますが、参考までに他の方法もご紹介しておきます。

▼操作方法:小数点以下の数値・小数部分を取得する
※A1セルに正の数値が入力されているときにB1セルに小数点以下を取得する例
B1セルに
「=MOD(A1, 1)」
という数式を入力する
割り算の余りだけを計算するMOD関数を使って、1で割り算をして余りを求めることで、小数部分だけを取得する方法です。

この方法でもマイナスの数値のときには、上手くいきませんので、負の数値があるという場合は以下のような数式にしてください。

▼操作方法:小数点以下の数値・小数部分を取得する
※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)))」
という数式を入力する
元の数値が「0」のケースがあるのなら、上記のようにIF関数を使って、元の数値が「0」のときには「0」という処理を追加する必要があります。

やっぱり、先にご紹介したINT関数かTRUNC関数を使った引き算による方法が、数式がシンプルで理解もしやすく、良さそうに感じます。



本記事は下記サイトから引用しました。
小数点以下を取得するVBA-INT・TRUNC・MOD関数
http://vba-auto.com/shousuutennikawoshutoku/