- ベストアンサー
エクセルVBAで表の数値の微調整
いつもお世話様です。 かなりの難問に突き当たってしまいました。お助けいただけると幸いです。 【前提】 A1:H11に表があります。(実際のセル番地は違います) A1:G10には数値が入力されています。(空白セルもありますが、数値が入っている場合はすべて下二桁めは四捨五入され、1230や5420、230といった感じです。1234や5423、234などはありません。) H1:H10には各行のTOTALがSAM関数で=SUM(A1:G1)のように入っています。 A11:H11には各列のTOTALがSAM関数で=SUM(A1:A10)のように入っています。 つまりH11に総合計があることになります。 【質問】 H11のセルの総合計の数値を、任意の値に変えた場合、それ以外の数値を、その割合で増減させ、やはり下二桁めは四捨五入したいのです。 その割合で単純にA1:G10の数値をFor Nextで変更させることは出来るのですが、そうすると場合により(というか、ほとんどの場合ですが)合計が変わってしまいます。 仮に、H11が55320という値、変更後が55000だったとすると、各セルの数値に55320/55000を乗じてROUNDすると、各列の合計はところどころプラスマイナス10程度ことなり、総合計は55030とか54980とか微妙に変わってしまうのです。 四捨五入だからどうしようもないのですが、これをうまく調整したいのです。 優先順位は 1.総合計(指定した任意の値は変えられない。) 2.各列の縦計 3.各セルに対する変更の比重を極力一定に です。 そうするために、まず各列の1~10セルのなかの最大値で端数を調整するしかないと思うのですが、(他にいい方法があれはそれでもいいですが)こうなってくるとわたしのVBAの知識では遠く及ばなくなってしまいます。 どうかご教示お願いいたします。
- みんなの回答 (6)
- 専門家の回答
関連するQ&A
- EXCELでの足し算
A列に数字が入っていてB列に=A1/2という式を入れています。 それが20行まであり、B21のセルに=SUM(B1:B20)という式を入れています。 A列の数字が例えば105と言う数字がどこかにはいっているとするとB列は52.5ですが四捨五入されているのか53となっています。 B1からB20は四捨五入されていいのですが B21に足された数字もB1からB20の表示どおり四捨五入されたものを足してほしいのですが 52.5を足したようになってしまいます。 どうしたらよいでしょうか? どなたか教えてください。 Excelは2000です。
- ベストアンサー
- オフィス系ソフト
- ExcelのSUMを使用して足し算をすると違った答えになります
合計が違ってきます。 1)Excelの掛け算をした結果(四捨五入の値で表記)を表記されている数値で足し算 2)掛け算されているセルをSUMを使って足し算をする(四捨五入) 合計が違う結果となる場合があるので困っています。
- ベストアンサー
- オフィス系ソフト
- Excelで作った表で・・・
よくある「単価×数量」の表を作りました。 答えに小数点以下になるものが含まれるため、その列に セル書式で小数点以下を四捨五入して整数になるように 設定しました。それぞれの答えはそれで良かったのですが、今度はさらにそれらの合計を求めようと「SUM」を 入力したら表示された整数の合計ではなく、 それぞれのセルある小数点以下の数次を合計して四捨五入してしまいます。 (例)単価×数量=1.2 表示は1 単価×数量=1.3 表示は1 計 3 になってしまう←「2」にしたい どうしたらいいのでしょうか?教えてください。
- ベストアンサー
- Windows NT・2000
- Excel VBAでの値の比較
お世話になります。 Excel VBAでの値の比較方法についてご教授頂きたく存じます。 下記のような値がセルに入っていると仮定しまして、 セルA1とセルG1を比較する セルA2とセルG2を比較する セルB1とセルH1を比較する セルB2とセルH2を比較する 値が違う場合のみ、A列、又は、B列のセルの色を変更したいのですが・・・。 下記例の場合であれば、B1とA2がセルの色が変われば良いです。 A列 B列 G列 H列 1行 1 1 1 2 2行 2 2 3 2 VBAで実現したいと思います。 何卒、宜しくお願い申し上げます。
- ベストアンサー
- オフィス系ソフト
- どなたかエクセルにお詳しい方がいらっしゃいましたら、
どなたかエクセルにお詳しい方がいらっしゃいましたら、 教えて頂けるとうれしいです。 下記数値をそれぞれ小数点以下を四捨五入しています。(それぞれ別の数値をSUMで合計しています。) 四捨五入したものをSUMすると下記の数値になってしまい、1円ずれてしまいます。 どうしたら、四捨五入したそれぞれの数値をちゃんと計算できるように なりますでしょうか? 宜しくおねがいしますm(__)m 23,650.00 38,280.00 9,890.00 61,060.00 72,670.00 30,040.00 20,640.00 10,200.00 28,050.00 17,850.00 40,162.50 46,537.50 35,062.50 32,650.00 下記は、上記数値をSUMで合計を出した数値 466,743円 本来は、 466,743円にしたいですm(__)m
- 締切済み
- その他MS Office製品
- エクセルで最大値から調整したいが最大が複数あった場合?
すみません、助けてください。 エクセルの表計算で困っています。 A1~M1にそれぞれ数値(小数あり)がはいっており、N1に合計が入ります。 A2~M2には上の行の値を10円単位に四捨五入した値が入ります。これを合計してN2に持ってくると、四捨五入の関係でN1を10円単位に四捨五入した値にならないときがあります。 そこでN2はN1を四捨五入した値(これが最優先の値)にし、2行目(A2~M2)の合計と差が出た場合はA2~M2中の最大値から引いたり足したりして調整しています。そのため P2に=MAX(A2:M2)として最大値を求め、3行目A3~M3に最大値と同じならTrueがでるようにして、Trueのある列の2行目から差額を差し引きした額をA4~M4の4行目に表示しています。 ところが、これだと万一、最大値が2つあった場合、二重に差し引きされ、またおかしくなってしまいます。 なにかいい方法はないでしょうか?
- ベストアンサー
- オフィス系ソフト
- 範囲指定した箇所の数値を一括で四捨五入したい
EXCELのマクロで 範囲指定をしたセルの数値(数式ではなく、数字です)を一括で四捨五入(小数点第3位を四捨五入(小数点第2まで表示))した数値を置き換えるマクロを知りたいのですが、調べられずに困っています。 (roundで四捨五入して、それを値だけ貼り付ければ・・と言うことではなく、あくまでもマクロでの方法を教えてください) よろしくお願いいたします。 バージョンEXCEL2000
- ベストアンサー
- オフィス系ソフト
- エクセルで数値を四捨五入したいのですが・・・
初歩的ですいません。今E14のセルに666.66666・・・と計算の結果、数値がはいっております。この数値を自動で四捨五入させ、670と表示させたいのです。どのようにしたらいいでしょうか?教えて下さい。
- ベストアンサー
- オフィス系ソフト
お礼
Wendy02さん、ほんとうにいつも助けられます。 With Range("DATA").Find(mx, LookIn:=xlValues) .Value = .Value + df End With こんな呪文があるんですねえ!!すごい。 試してみましたがとっても高速化されました。 これって最大値が複数でも、最初の1箇所にだけ作用するんですよね?(やってみたらそのようでしたが、念のためお聞きしておきます。)