• ベストアンサー

エクセルで数字を分割

例えば 12.56を12と5と6、128.89を128と8と9に別のセルに表示したいです。整数部と小数点第1位と2位は分ける(セル3分割にする)方法はないでしょうか? 宜しくお願いします。

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

  • ベストアンサー
  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.2

いろいろやり方は考えられますが、A1セルに例えば 12.56 という数字が入っているとして 整数部を取り出す式    =INT(A1) 小数点第1位を取り出す式 =MOD(INT(A1*10),10) 小数点第2位を取り出す式 =MOD(INT(A1*100),10) で大丈夫です。 なお、INT関数は整数部を取り出す関数、MOD関数は剰余を求める関数です。

tsunezou
質問者

お礼

ありがとうございます。参考になりました。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.6

色んなケースをテストできてませんが A列   B列   C列   D列 123.53 123 5 3 1345.234 1345 2 3 B1は =INT(A1) C1は =MID(A1,FIND(".",A1)+1,1)*1 C列は =MID(A1,FIND(".",A1)+2,1)*1 A1が数字であっても、文字列的にエクセルでは扱えますので、上記方法が成り立ちます>

tsunezou
質問者

お礼

ありがとうございます!

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆こんな方法もありますよ(少し、式が長くなりますが)      A         B   C   D   E 1   12.56        12    5   6 2   124.36       124   3   6 3   -5698.025    -5698  0   2   5 B1=MID(SUBSTITUTE($A1,".",),(COLUMN(A1)<>1)*(FIND(".",$A1)-2)+COLUMN(A1),(COLUMN(A1)=1)*(FIND(".",$A1)-2)+1) ★右と下にコピー

tsunezou
質問者

お礼

ありがとうございます!

  • izmlz
  • ベストアンサー率55% (67/120)
回答No.4

No.3です。 私のご紹介した↓の数式はマイナスの数値にも対応するようにしています。 > =TRUNC(A1) > =INT(MOD(SIGN(A1)*A1/0.1,10)) > =INT(MOD(SIGN(A1)*A1/0.01,10))

tsunezou
質問者

お礼

ありがとうございます。参考になりました。

  • izmlz
  • ベストアンサー率55% (67/120)
回答No.3

=TRUNC(A1) =INT(MOD(SIGN(A1)*A1/0.1,10)) =INT(MOD(SIGN(A1)*A1/0.01,10)) でいかがでしょうか? ↓は参考ページです。 指定した桁の数字を返すには? http://www2.odn.ne.jp/excel/waza/function.html#SEC71

参考URL:
http://www2.odn.ne.jp/excel/waza/function.html#SEC71
tsunezou
質問者

お礼

ありがとうございます。参考になりました。

tsunezou
質問者

補足

数式の意味を理解せずにすみませんが、たまたま1125.06とすると少数第2位が5になります。なぜでしょうか?

  • mako_sea
  • ベストアンサー率47% (62/130)
回答No.1

いろんなやり方あると思いますが こんな感じではどうですか? A1セル   12.56 B1セル   =ROUNDDOWN(A1) C1セル   =RIGHT(TEXT(ROUNDDOWN(A1*10,0),0),1) D1セル   =RIGHT(TEXT(ROUNDDOWN(M21*100,0),0),1)

tsunezou
質問者

お礼

ありがとうございます。参考になりました。

関連するQ&A