- ベストアンサー
エクセルで数字を分割
例えば 12.56を12と5と6、128.89を128と8と9に別のセルに表示したいです。整数部と小数点第1位と2位は分ける(セル3分割にする)方法はないでしょうか? 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
いろいろやり方は考えられますが、A1セルに例えば 12.56 という数字が入っているとして 整数部を取り出す式 =INT(A1) 小数点第1位を取り出す式 =MOD(INT(A1*10),10) 小数点第2位を取り出す式 =MOD(INT(A1*100),10) で大丈夫です。 なお、INT関数は整数部を取り出す関数、MOD関数は剰余を求める関数です。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17069)
色んなケースをテストできてませんが 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が数字であっても、文字列的にエクセルでは扱えますので、上記方法が成り立ちます>
お礼
ありがとうございます!
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法もありますよ(少し、式が長くなりますが) 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) ★右と下にコピー
お礼
ありがとうございます!
- izmlz
- ベストアンサー率55% (67/120)
No.3です。 私のご紹介した↓の数式はマイナスの数値にも対応するようにしています。 > =TRUNC(A1) > =INT(MOD(SIGN(A1)*A1/0.1,10)) > =INT(MOD(SIGN(A1)*A1/0.01,10))
お礼
ありがとうございます。参考になりました。
- izmlz
- ベストアンサー率55% (67/120)
=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
お礼
ありがとうございます。参考になりました。
補足
数式の意味を理解せずにすみませんが、たまたま1125.06とすると少数第2位が5になります。なぜでしょうか?
- mako_sea
- ベストアンサー率47% (62/130)
いろんなやり方あると思いますが こんな感じではどうですか? A1セル 12.56 B1セル =ROUNDDOWN(A1) C1セル =RIGHT(TEXT(ROUNDDOWN(A1*10,0),0),1) D1セル =RIGHT(TEXT(ROUNDDOWN(M21*100,0),0),1)
お礼
ありがとうございます。参考になりました。
お礼
ありがとうございます。参考になりました。