- ベストアンサー
エクセルで小数点を表示したい
A B C 1 コード データ 結果 2 1 1000 1000 3 2 1000 100.0 4 3 1000 10.00 5 4 1000 1.000 エクセルで上記のような結果が得られる計算をしたいです。 コードを参照し、 1ならばそのまま表示 2ならばデータを10で割り小数点以下を1桁表示 3ならばデータを100で割り小数点以下を2桁表示 4ならばデータを1000で割り小数点以下を3桁表示 結果の列に =IF(A2=1,B2,IF(A2=2,B2/10,IF(A2=3,B2/100,IF(A2=4,B2/1000)))) という数式を入れたのですが、小数点以下が100.0の筈が 100等と整数として表示されてしまいます。 表のように表示させるにはどこに手を加えたら良いのか どなたかお教え頂けませんでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
=TEXT(B2/(10^(A2-1)),"0"&IF(A2>1,".",)&REPT(0,A2-1)) でいかがでしょうか。
その他の回答 (3)
- chie65536
- ベストアンサー率41% (2512/6032)
訂正。 1つ前の回答だと 1 コード データ 結果 2 1 1 1 3 2 1 .1 4 3 1 .01 5 4 1 .001 になってしまうので 1 コード データ 結果 2 1 1 1 3 2 1 0.1 4 3 1 0.01 5 4 1 0.001 になるように訂正。 =IF(A1=1,TEXT(B1,"####"),IF(A1=2,TEXT(B1/10,"##0.0"),IF(A1=3,TEXT(B1/100,"#0.00"),TEXT(B1/1000,"0.000"))))
お礼
TEXT関数は思い浮かびませんでした… ありがとうございました!
- chie65536
- ベストアンサー率41% (2512/6032)
=IF(A2=1,TEXT(B2,"####"),IF(A2=2,TEXT(B2/10,"###.0"),IF(A2=3,TEXT(B2/100,"##.00"),TEXT(B2/1000,"#.000")))) と入力して、セル表示を「右揃え」にする
- hana-hana3
- ベストアンサー率31% (4940/15541)
C1に、=B2/(10^(A2-1))
お礼
IFを並べるよりずっとスマートな感じですね。 使わせて頂きます。ありがとうございました。