- ベストアンサー
エクセルで50%と50.0%を表示したい
エクセル2003使用。【0.5】は『50%』、【0.49567・・・】は『50.0%』と表示をしたい。関数またはエクセルVBAでできる方法を教えて下さい。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> 表示したいのは、値を%表示すること。四捨五入して小数第1位まで。しかし、値が小数第1位までの場合は整数のみの%表示をしたい。 > 例:(1)0.49567・・・=49.6% (2)0.499733・・・=50.0% (3)0.5=50% (4)0.0625=6.3% の文章からでは、小数第2位の場合にどのように表示したいのか わからない(0.51=51.0%と思える)ので、0.51の場合をお尋ねしました。 0.51=51%(値が小数第2位までの場合は整数のみの%表示)のため、 =TEXT(ROUND(A1,3),IF(MOD(A1*100,1)=0,"0%","0.0%")) の一つの式ですみますので、お試しください。 「100枚ほどのシート、1シートに9セルの塊で21エリアほどについて」は、 質問内容が変わるので、(わからないのであれば)新たに質問してください。 その際は、セル番地を書いておくと回答が得られやすいと、思います。
その他の回答 (5)
- shikisaito
- ベストアンサー率52% (257/491)
> 表示したいのは、値を%表示すること。四捨五入して小数第1位まで。しかし、値が小数第1位までの場合は整数のみの%表示をしたい。 > 例:(1)0.49567・・・=49.6% (2)0.499733・・・=50.0% (3)0.5=50% (4)0.0625=6.3% =TEXT(ROUND(A1,3),IF(MOD(A1*10,1)=0,"0%","0.0%")) ただし、値が小数第2位までの場合は整数のみの%表示をしたい場合、 =TEXT(ROUND(A1,3),IF(MOD(A1*100,1)=0,"0%","0.0%")) 0.51のときに表示させたいのは、51%ですか? 51.0%ですか?
お礼
Shikisaito様。0.51=51%です。教えた頂いた式を一つの式で表せないでしょうか? 100枚ほどのシート、1シートに9セルの塊で21エリアほどについて、%表示が必要なので、マクロを使わないと処理が出来ません。 値が【小数何位まであるか】がわかる。または【小数第1位までの値】と【小数第2位までの値】と【小数第3位までの値】と【それ以外の小数位である】が区別できると、希望の%表示が出来ると思うのですが・・・。 追伸:先ほどはお名前を違えて申し訳ありませんでした。
- Bubuca
- ベストアンサー率59% (532/898)
セルの値が0.5ちょうどならば50%と表示して、 四捨五入して0.5になったものは50.0%と表示ですよね。 shikisaitoさんのやり方できちんと表示されました。 わかりやすくて良い式だと思います。 こちらエクセル2004です。
お礼
Bubuca様。質問が説明不足であったようです。「質問Debut」なのでお許し下さい。 再度、Shikisaito様のお礼欄に質問内容の追加説明をしました。お力お貸し下さい。
- shikisaito
- ベストアンサー率52% (257/491)
> 全て【50%】表示になってしまいます。セルの書式などを変更する必要があるのでしょうか? セルの書式を変更する必要はありません。 どのように操作して、全て【50%】表示になったのでしょうか? 当方は、Windows XP SP2、Excel 2003で以下を確認しています。 1. B1セルに「=TEXT(ROUND(A1,2),IF(MOD(A1*100,1)=0,"0%","0.0%"))」を入力する。 2. A1セルに「0.5」を入力すると、B1セルに「50%」と表示される。 3. A1セルに「0.49567」を入力すると、B1セルに「50.5%」と表示される。
お礼
shikisato様。質問が説明不足であるようでした。 表示したいのは、値を%表示すること。四捨五入して小数第1位まで。しかし、値が小数第1位までの場合は整数のみの%表示をしたい。 例:(1)0.49567・・・=49.6% (2)0.499733・・・=50.0% (3)0.5=50% (4)0.0625=6.3% 再度よろしくお願いします。
- hallo-2007
- ベストアンサー率41% (888/2115)
エクセルの上部に %とか ←0 .00 .00 →0とか表示されていませんか? 表示がなければ、表示 ツールから書式設定にチェック入れてください。 %をクリックしたら0.5がパーセント表示 50%になります。 小数点以下表示したければ、 ←0 .00 0.00 →0をクリックすると、小数点以下の桁数が設定できますが。
お礼
hallo-2007様。%表示したいセルは、どんな値が入るか分からないので、頂いたアドバイスで出来ません。
- shikisaito
- ベストアンサー率52% (257/491)
=TEXT(ROUND(A1,2),IF(MOD(A1*100,1)=0,"0%","0.0%"))
お礼
shikisaito様。残念ながら、全て【50%】表示になってしまいます。セルの書式などを変更する必要があるのでしょうか?
お礼
Shikisaito様。ありがとうございました。 教えた頂いた式がマクロで使えそうです。手元にデータファイルがないので明日、試してみます。ありがとうございました。