- ベストアンサー
Excel Roundについて
Excelの質問ですが、既に大量の計算式が入っているのですが、後からRoundをかける必要が出たのですが、どのようにするべきかご存知の方は教えて頂けないでしょうか?一つ一つRoundにするのは、無理な量ですので、非常に助かります。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.2です。 ご質問のような要望を満たす完成されたマクロを公開しているところはないかと探してみましたが見つけられませんでした。意外に需要があるとおもったのですけどね。 そうなると、No.3さんの仰る「小数点表示桁上げ(下げ)」を利用するくらいしか思い浮かばないです。 横合いから失礼して補足にお答えすれば、例えば14.7はちゃんと15と表示されます。 しかし、気を付けないといけないのは、表示上は15でも、内部的には14.7のままですから、このセルをさらに他の値の計算に使っているとずれが生じることがあります。 例:A1セルの14.7を桁下げで15と表示、B1の数式が=A1*10だとB1は147で150とはならない 質問者さんのワークシートの使用目的にもよりますが、見た目の問題だけなら「小数点表示桁上げ(下げ)」で十分かとおもいます。
その他の回答 (4)
こんにちは。No.3です。 返事が遅れてすみません。新規パソコン導入で、すったもんだしていたものですから。 ご質問についてですが、四捨五入されます。ご希望どおりの機能だといいのですが。
ツールバーの「小数点表示桁上げ(下げ)」ボタンは使えませんか。 0.00 ←.0 →.0 0.00 こんな感じのボタンです。 範囲選択しておいてこのボタンを押すと、選択セルすべての小数点以下の桁がそろって増えたり減ったりします。
- shakunin
- ベストアンサー率44% (53/118)
ROUNDの桁数が一定なら、VBAで何とかなりそうな感じですが、マクロの作成経験はおありでしょうか? あるマクロから急ごしらえで以下のようなサブルーチンを参考までに作成してみました(全然、不完全ですが)。 Sub nest_formula() Dim rc As Variant '開始行および列、終了行および列を格納する配列 Dim cellcontents As String '数式を文字列として格納する変数 Dim counter As Integer 'カウンタ変数 counter = 0 'カウンタ変数の初期化 Dim temp_a As String '一時的な変数、以下同様 Dim temp_b As String Dim temp_c As String Dim temp_d As String Dim temp_e As String temp_a = ActiveSheet.UsedRange.Address(ReferenceStyle:=xlR1C1) 'アドレスの取り出し temp_b = Replace(temp_a, "R", "") '以下3行で、カンマ区切りの行および列番号を生成 temp_c = Replace(temp_b, ":", ",") temp_d = Replace(temp_c, "C", ",") rc = Split(temp_d, ",", 4) 'データを含む範囲の行および列番号を文字列配列に変換、格納 For c = Val(rc(1)) To Val(rc(3)) For r = Val(rc(0)) To Val(rc(2)) cellcontents = ActiveSheet.Cells(r, c).Formula If Left(cellcontents, 1) = "=" Then temp_e = Replace(cellcontents, "=", "") Sheets("作業シート").Cells(r, c) = "=round(" + temp_e + ",0)" counter = counter + 1 End If Next Next End Sub マクロ作成経験者が見れば、十分ヒントになると思うのですが…
お礼
ご回答有難う御座います。 ただ私マクロ未経験者なので、、、 ご回答有難う御座いました。
- toppo1969
- ベストアンサー率39% (64/162)
もう少し詳しい状況を書かれた方がよろしいでしょう。 例:計算式の入っているセルが大量にあるのかどうか。一つのセルにある計算式が長大なのかどうか。マクロやVBAで計算しているのかどうか。等々。
補足
ご指摘の通りですね。説明不足です。 計算式の入っているセルが大量にあります。 各セルには、単純な掛け算やSUM値などが入っております。VBA等は使っておりません。 ご指摘有難う御座います。
補足
質問です。小数点表示桁上げは、小数点以下が表示されなくなりますが、その際小数点以下は四捨五入されるのでしょうか?それとも 表示されなくなるのでしょうか? (例) 14.7 ⇒ 14 14.7 ⇒ 15 私としてはできることなら、四捨五入された値を表示させたいのですが。 そのような事は可能でしょうか?