ExcelでのVBAマクロを使えるようになると、人の手要らずでの計算やファイル作成が可能になります。
この記事では、小数や整数を四捨五入する方法を紹介します。
小数をFormat関数で四捨五入する方法
Format関数で四捨五入する方法を紹介します。
Format関数で四捨五入する場合は以下のように書きます。
Format(四捨五入したい数値,フォーマット)
フォーマットのところは、小数点第何位で四捨五入したいかを指定します。
下記の場合は、小数点第一位で四捨五入するという意味になります。
Format(2.83,"0")
下記の場合は小数点第二位で四捨五入するという意味になります。
Format(2.83,"0.0")
例として以下のようなプログラムを実行してみましょう。
Dim num As Double
num = Format(1.51, "0.0")
MsgBox (num)
以下のような結果になりました。
プログラムの内容を確認すると、”1.51″を小数点第二位で四捨五入するロジックとなります。
整数をFormat関数で四捨五入する方法
では、次に整数をFormat関数で四捨五入する方法を紹介します。
こちらは少し複雑で、一度小数に変換してから、Format関数を用いて四捨五入し、最後に桁数を戻すというロジックを書きます。
例として以下のようなプログラムを実行してみましょう。
894の1の位を四捨五入するプログラムです。
Dim num As Integer
Dim num_tmp As Double
Dim num_ans As Double
num = 894
num_tmp = num / 10
num_tmp = Format(num_tmp, "0")
num_ans = num_tmp * 10
MsgBox (num_ans)
以下のような結果になりました。
四捨五入したい整数を用意します。今回の場合は894です。
次に、この整数を四捨五入したい桁の分の数字で割り算をして、小数にします。
今回の場合、1の位を四捨五入するので、10で割って小数点第一位をFormat関数で四捨五入します。
その後、元の桁数(3桁)に戻すために10倍して、890という値を算出します。
※処理の流れを記載していきます。
四捨五入したい数値894を、変数numとして用意します。
一時的な変数として89.4を、変数num_tmpとして用意します。
そのnum_tmpをFormat関数で小数点第一位を四捨五入し、その値をnum_tmpに代入します(置きかえる)。
そして、最終的な数値としてnum_tmpを10倍した数値をnum_ansとして代入します。
まとめ
小数点や整数を四捨五入する方法について、紹介しました。
Format関数で四捨五入する場合は以下のように書きます。
Format(四捨五入したい数値,フォーマット)
フォーマットのところでは、小数点第何位で四捨五入したいかを指定します。
下記の場合は小数点第一位で四捨五入するという意味になります。
Format(2.83,"0")
下記の場合は小数点第二位で四捨五入するという意味になります。
Format(2.83,"0.0")
コメント