みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの表示形式で、10の桁で四捨五入した値を表示させるには?

エクセルの表で、数字を四捨五入する方法にはROUND関数がありますが、関数で変換すると値そのものが変わってしまいます。
値はそのままで四捨五入した数字で表す方法を教えてください。
小数や一桁の整数までの四捨五入であれば、セルの書式設定・表示形式を「数値」にして小数点以下の桁数を指定してやれば簡単ですが、10の桁以上で丸めて表示させる方法を探しています。
例えば、9876→9880と表示させる書式設定の方法です。
値は計算に使うので、ROUND関数で実際に丸めたくないのです。
ユーザ定義を組み合わせるなどで、うまくできませんか?

投稿日時 - 2009-04-24 12:03:32

QNo.4904862

困ってます

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

エクセルを使って見ていると、
表示形式で、ユーザー定義で、「種類」の窓に内容的に、エクセル関数のような表現を使うことは出来ない。あそこに書ける文字は(日付は多様なので別にするとして)、#や0や%やリレラル文字列のように限られたものしかない。関数を持ち込むことは出来ない。小数点以下の桁数は数値で指定できて、指定桁+1の数字をもとに、四捨五入されるようだが、桁指定数はマイナスは不可だ。
書式に関数的な表現が出来ればなあ、と思う場合はあるが。
なお、条件付き書式の書式に表示形式は含まれていない。
ーー
結局隣列にでも列コピーをして、元の列は隠し、関数など計算には
隠した列のセルの値を使い、見せるためのコピーした列は関数やVBAで桁処理をするしかないでしょう。、

投稿日時 - 2009-04-24 13:01:27

お礼

丁寧な回答ありがとうございます。
やっぱり、無理でしたか。
そうなんですよね。小数の場合は表示形式で丸められるのに、桁指定数がマイナスは不可なため、10桁以上の整数で丸められないのは片手落ちだと思います。
需要は多そうな気がしますが、そういう仕様なんでしょうね。
似たような例で、日付形式のシリアル値がマイナスの数が使えないため、1900年以前の日付が指定できなくて戸惑ったことがあります。
表示用にダミーの列を使って、実際の計算は非表示の列で行うのも考えましたが、他人に渡す表なので、ちゃんと説明しないと紛らわしいかと躊躇しているのです。

投稿日時 - 2009-04-24 22:54:29

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

No3です。

>ちゃんと説明しないと紛らわしいかと躊躇しているのです。
ちょっと非効率的ですが、非表示にしなくても良い方法はあります。

対象のセルはそのまま、ROUND表示にしてしまいます。そのかわりこのセルの値は、他のセルの計算には使用しません。

それでは、他のセルの計算に困るって?
そのセルを参照している計算式には、セルの参照の変わりに、同じ計算式を入れてあげれば計算できます。(もちろんROUNDは除いて)
計算結果を使用したほうが、全体としての計算は効率的ですが、同じ計算をさせてしまえばよいわけで、計算式が長くなるなどの欠点もありますが、非表示のセルを作らなくてもよくなります。

投稿日時 - 2009-04-27 09:15:09

お礼

再度アドバイスありがとうございます。
そのままでは不可能な事柄も、工夫次第でいろいろな道が開けますね。
確かにセルの参照の変わりに、同じ計算式をその都度代入すれば同じ結果が得られますね。
でも、ご指摘の通り計算式が複雑になる上、値を変更するとセルと計算式を同期させるのが面倒です。
fujillin様はじめ、回答頂いた皆様の意見をヒントにして私なりに考えついた方法があります。
非表示の列を作ると、紛らわしい上、値を修正するためにはその都度表示/非表示を切り替えねばならないのが難点ですので、いっそ別シートにコピーすることにしようと思います。
sheet2に元表とそっくり同じ書式の表を作っておき、すべてsheet1と同じ番地のセルを参照した上、こちらでround関数で丸めるのです。
入力と計算にはsheet1を使い、印刷はsheet2で行うわけです。
これも、あまりスマートなやり方ではありませんが、ほかの人にも使ってもらうには何とかなりそうな気がします。

投稿日時 - 2009-04-27 21:42:48

ANo.3

No1様の回答が、簡単では?

実際に計算に使用する数字が入る列(行?)は非表示にしておいて、その代わりに、
 =ROUND(○○,-1)
を入れたセルを表示しておく。

投稿日時 - 2009-04-24 17:44:00

お礼

回答、ありがとうございました。
表示用にダミーの列を使って、実際の計算は非表示の列で行うのも考えましたが、他人に渡す表なので、ちゃんと説明しないと紛らわしいかと躊躇しているのです。
でも、それしか方法はなさそうですね。

投稿日時 - 2009-04-24 22:57:27

ANo.1

無理なんじゃないでしょうか。表示用と計算用のセルに分けておいて、計算用は隠しておくという手もありますが。

投稿日時 - 2009-04-24 12:18:14

お礼

回答、ありがとうございます。
やはり無理ですか。一見単純そうに見えたので、簡単な方法があるかと探してたのですが、残念です。
非表示のセルを活用するのも考えたんですが、他の人に渡すこともあるファイルなので、紛らわしくなるかと思うのです。
難しいところですね。

投稿日時 - 2009-04-24 22:45:03

あなたにオススメの質問