 | 2010/03/01(Mon) 01:15:08 編集(投稿者)
※不適切発言削除しました、失礼しました。
Excelをお持ちのようでしたら外部変形作ってみたのでよろしかったろどうぞ。 ※ものすごく動作が遅いです ※もともと作ってあったデータに機能追加したため余計なものがいっぱいあります。 Excel2003とExcel2007なら動くと思います(他は持ってないので分からないです)
http://ohayou-oyasumi.webdeki-bbs.com/ohayou-oyasumi_tree_p_128.html をダウンロード&解凍しパスに空白のない場所において外部変形から (C:\Program Filesとかディスクトップなんかに置くとうまく動作しません) Excel置換.batを起動し出てきたエクセル画面でMroundというボタンを押した後 画面右上赤い×ボタンでエクセルを閉じたら処理事項できるのではないかと 思います。 ※処理できない場合はエクセルの分析ツールを有効にしてみてください。
エクセルVBAを使っての処理ですので、 置換タブを右クリックし「コードの表示」で表示された画面の Format(Application.MRound(.Cells(i, 2).Value, 0.05), "0.00") の部分を変更すれば処理が変更できます。
関数 http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/round.htm 表示形式 http://www.eurus.dti.ne.jp/~yoneyama/Excel/user_set.htm をみるとコードが書き換えやすくなるのではないかと思います。
例1) "0.00"で小数点以下2桁ですが、部分を"0.0"にしたら小数点以下1桁までの数値になります。 "#,##0.00"にすると桁区切りありの小数点以下2位までの数値になります。 ※セルの表示形式の時に設定するのと同じように設定すればその表示形式になります。 Format(文字列, セルの表示形式)
例2) MRound(.Cells(i, 2).Value, 0.05) だと小数点第二位の5を境に切り上げ切り下げですが MRound(.Cells(i, 2).Value, 0.5) に変更すると小数点第一位の5の文字を境に切り上げ切り下げします。
例3) MRound(.Cells(i, 2).Value, 0.05) を RoundUp((.Cells(i, 2).Value, 2) にしたら小数点第二位で切り上げします。
|