• ベストアンサー

関数で少数点以下の値のみ表示したい

 A列      B列    【0.3】     【3】 【11.1】    【1】 【1.13】    【13】 【12】      【0】 上記のように、A列に入力されている値の少数点以下の数値を、B列に表示するようにしたいです。 (少数点以下の数値がない場合は【0】を表示) どのような関数を組めば出来ますでしょうか?よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.3

>どのような関数を組めば出来ますでしょうか? A列の値が小数点以下何桁を処理するか決めないと正確な処理になりません。 また、幾つかの関数を組み合わせますので、作業用のセルを使うことで分かり易くすべきでしょう。 例えばC列にA列の数値を文字列に変換した値を算出し、D列に小数点以下の部分をC列の文字列から切り分ければ、B列にD列の文字列を数値に置き換えられます。 C1=TEXT(A1,"#.#######") D1=MID(C1,FIND(".",C1,1)+1,LEN(C1)) B1=IF(T(D1)="",0,VALUE(D1))

TIMTIM2
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

=SUBSTITUTE(ROUND(A1-INT(A1),8),".","")*1 など。 #こういった計算をするとエクセルの計算誤差(浮動小数点誤差)によって意図しない結果が現れる場合があるので,気をつけて確認してみてください。

TIMTIM2
質問者

お礼

ありがとうございました。

  • NNori
  • ベストアンサー率22% (377/1669)
回答No.1

小数部分だけとりだして文字列にして小数点より右を表示する。 dim s as string dim p as integer dim ret as string s = string( x - int(x)) P = instr(s,".") if p > 0 then ret = mid( s , p + 1 ) else ret = "0" end if しかし、0.10 のときは 10 0.1のときは 1 と表示されちゃって、なんか意味がない(使い道がない)ような気がしますね。

TIMTIM2
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう