• ベストアンサー

Excelで数字の表示に関して、任意の桁数で四捨五入させて表示させたい

Excelで数字の表示に関して、任意の桁数で四捨五入させて表示させたいのですが、ROUND関数だと別のセルに表示となってしまいます。元のセルのままで表示させ方だけ変えるような方法はありますか?※関数でもいいのですが、とにかくセルは元のセルを使いたいです。Excel2007です。※但し、2003とかでも使うので2007のみの機能は不使用でお願いします。

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

  • ベストアンサー
  • Saturn5
  • ベストアンサー率45% (2270/4952)
回答No.1

少数以下の四捨五入は簡単です。 [セルの書式設定]→[表示形式]→[数値] で少数以下の表示桁数を変更できます。 このとき、自動的に四捨五入になります。 整数で任意の桁数での四捨五入は難しいですが、 1000単位ならば可能です。 [セルの書式設定]→[表示形式]→[ユーザー定義]で #,"000" と入力します。 このあたりはジェダイ・アカデミーで学習できます。

take-r2d2
質問者

お礼

ご回答ありがとうございます。 >少数以下の表示桁数指定→自動的に四捨五入 知らなかったです。 >1000単位ならば[ユーザー定義]#,"000" こちらも参考になりました。

その他の回答 (2)

回答No.3

元のセルのままかぁ。132456とタイプすると132000となって欲しい わけですよね。 環境設定の「計算方法」だったかな、「表示桁数で計算する」とい うスイッチがあります。これをONにしてください。そして、千円の 桁までしか表示しないセルの書式設定を #,###, のようにします。 するとあら不思議、132456とタイプしたら表示は132となり、数式 バーを見ると132000と変化していますね。これでオッケー。 この方法はセルの幅次第で勝手に桁が切り詰められる可能性がある ので、使用はくれぐれも慎重にして下さい。

take-r2d2
質問者

お礼

ご回答ありがとうございます。 わかりやすいご回答ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

ROUND関数とセルの書式設定とは全くセル内容が相違します。 表示だけなら#1様の回答ですので省略しますが、ROUND関数の様な振る舞いで入力セルにという事ならば、マクロ(VBA)記述が必要です。 サンプルコードをシートタブ上で右クリック→コードの表示→コード貼り付けでお試し下さい。 A1:A5範囲で入力後に桁数補正します。 Private Sub Worksheet_Change(ByVal Target As Range) 桁 = 2 'ROUND関数の桁数 If Intersect(Target, Range("A1:A5")) Is Nothing Then Exit Sub Application.EnableEvents = False Target.Value = WorksheetFunction.Round(Target.Value, 桁) Application.EnableEvents = True End Sub

take-r2d2
質問者

お礼

ご回答ありがとうございます。 VBAは知識がほぼゼロなのでこれをきっかけに勉強してみます。

関連するQ&A

  • Excelで任意の桁数で四捨五入させその桁数以下は表示させたくない場合

    Excelで任意の桁数で四捨五入させその桁数以下は表示させたくない場合はどのようにしたらいいでしょうか? 具体的には、売上の数字の百桁目を四捨五入させ、かつ表示では下3桁はカットし(千円)で表示させます。欲を言うと、桁区切りは残したいです。 とても困ってます。 Excel2007です。

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

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

  • EXCELで「有効3桁で四捨五入」

    EXCELで「有効3桁で四捨五入」という式は組めるのでしょうか? 例えば、 12345.6 → 12300 23.456 → 23.5 3.456 → 3.46 という具合です。 桁数が混在している表なので、round関数では個々に「何桁目で」を指定してあげなければならず、それでは数字を直接入力した方が早いので、何か方法があれば知恵をお貸し下さい。

  • エクセルの四捨五入で

    エクセルでセルに[=5/2]と入力すると2.5となります。 小数点以下の桁数を0にすると四捨五入されて3になります。 このセルを2つ作ると「3」が2つ表示されますがドラッグして右下に合計を表示させると「5」と表示されます。 このときに四捨五入された後の合計すなわち「6」と表示させることはできないでしょうか。

  • エクセルで四捨五入するときの

    エクセルでround関数を使って比率(%)をだしているのですが 合計すると四捨五入の関係で100%にならない事が良くあると思うのですが、100%になるように調整する様な関数とか 何か解決策があれば教えて下さい。 よろしくお願いします。

  • Excelの関数、四捨五入について

    ご質問があります。 現在Excelで表を作っているのですが、どうしても四捨五入で躓きます。 例) A 1234.56 →四捨五入(ROUND.1) →B 1235 上記のようになるのですが 例) B 1235×0.9 → 1111.1(小数点第一表示) 上記のようになってしまいます。 四捨五入したBのセルに対し0.9をかけているはずなのに 四捨五入を行う前のAに0.9をかけた答えが出てしまうのです。 これの謎が解けず困っています。 どなたかお分かりの方がいましたら宜しくお願い致します。

  • Excel2000での初歩的な質問です。

    Excel2000での初歩的な質問です。 四捨五入というのはRound関数を使うわけですね? 例えば、28473という数値を四捨五入して28470にしたい場合ですが、 ROUND関数の入力画面には、数値と桁数があります。 数値は28473があるセルをクリックして入力するのはいいとして、 桁数というのが解りません。説明の意味も解りません。この場合、何と言う数字を入れたらいいのでしょうか? 次に、28473.49という数値を四捨五入して28473.5と表示させたい場合、 ROUND関数の入力画面で、桁数は何という数字を入力したらいいのでしょうか? 宜しくお願い致します。

  • エクセルで有効数字、四捨五入、未満表示をする方法

    同じような、質問がいくつかあったのですが、よくわからず質問させていただきます。 よろしくお願いします。 有効数字を2桁にし、四捨五入をする方法は、ここで調べて =ROUND(A1,1-INT(LOGA1)) とわかったのですが、これをさらに未満表示を加えるとどうすればいいのでしょうか? 有効数字を2桁、3桁目を四捨五入する。1未満なら、1未満(-でも1未満)と表示する。 すいませんがよろしくお願いします。

  • 有効数字以下を四捨五入(Java)

    初心者です。よろしくお願いします。 Javaで有効数字の桁数を与えてそれ以下を四捨五入することはできますか。 できるなら方法を教えてください。 単に少数第○位を四捨五入するとあらかじめ決めておけばsetScaleメソッドでできると思うのですが、 例えば有効数字2桁と決めておいて、 34.1→34 3.41→3.4 0.341→0.34 といった具合に四捨五入する方法をお伺いしたいです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 小数点以下の数字の桁数表示について

    VB6.0で小数点以下の数値が0の場合でも指定した桁数で0も表示するにはどのようにしたらよいですか? 例えば、四捨五入のROUND(0.195000,4)のとき返ってくる数値が「0.195」となり最後の0が表示されません。(以下は4桁表示したいのに) (小数点以下第5位が5なら切り上げで最後に1が表示されますが) エクセルだとセルの書式設定で表示桁数を設定するだけだったのですが。 FIXED関数、TEXT関数はVB6.0では使えないのですよね? VB6.0に詳しい方よろしくお願いします。お手数です。

専門家に質問してみよう