EXCEL VBA Int Round RoundUp RoundDown (整数・小数点の切り捨てや四捨五入)

EXCEL VBA Int Round RoundUp RoundDown (整数・小数点の切り捨てや四捨五入)

 

 ●はじめに
VBAプログラムで作成した計算結果が割り切れない場合の数値や小数点以下などの端数が発生した場合、切り捨てや四捨五入など取り決めたルールで計算しなければなりません。その時に使用する関数が、Int関数(整数)・Round関数(四捨五入)・RoundUp関数(切り上げ)・RoundDown関数(切り捨て)です。計算結果を代入する場合は、変数の型によってInteger型(整数のみ)・Single型・Double型(小数が扱える)など、変数の型によって注意して扱う必要があります。それでは、順番に説明いたします。

 

関数名書式機能
IntInt(式)(式)の値に対して小数点を切り捨てる
RoundRound(式,桁数)指定する桁数に応じて(式)の数値を四捨五入する。
RoundUpApplication.WorksheetFunction.RoundUp(式,桁数)指定する桁数に応じて(式)の数値を切り上げる。
RoundDownApplication.WorksheetFunction.RoundDown(式,桁数)指定する桁数に応じて(式)の数値を切り捨てる。

 

EXCEL VBA Int関数(整数)

 

 ●書式の説明 ※式の部分は、数値でも計算式でも大丈夫です。
Int(式)  例:Int(1.5) は、1になります。(小数点以下の切り捨て)

 

 ●プログラム説明
次のサンプルプルグラムは、通常の割り算の結果を表示した場合とInt関数を使った場合の結果の違いを比較したサンプルプログラムです。

 

 

 ●実行結果
入力値に対して割り算を行った結果が、そのまま各変数の値で表示した結果と計算結果に対してInt関数を付け加えて各変数の値で表示した比較結果を求めます。

 

 ●入力値 ※プログラム実行後、①数値を入力しますここでは、「12345」を入力します。次に割る値を入力しますここでは、「234」を入力します。 (クリックして拡大)

 

 ●実行後 ※結果の1段目は、上記の入力した値を通常に割り算した値です。
※結果の2段目は、割り算の結果に対してInt関数で整数に切り捨てた場合の値です。
(クリックして拡大)

 

 

EXCEL VBA Round関数(四捨五入)

 

 ●書式の説明
式の部分は、数値でも計算式でも大丈夫です。
※桁数は、小数点以下のどの桁数を四捨五入するか指定します。(桁数1の場合、小数点第2位を判断して小数点第1に反映します。)
Round(式,桁数)  例:Round(123.45,1) は、123.5になります。

 

 ●プログラム説明(Round:サンプルプログラム①)
下記のプログラムは、指定した数値に割り算を行いRoundを使った場合とRoundを使わない場合の結果をセルに比較表示させます。

 

 

 ●実行前 ※(クリックして拡大)

 

 ●実行後 ※A列には、計算結果をRound無しでセルに代入・B列には、計算結果をRound有り(小数点第2位)をセルに代入した。 (クリックして拡大)

 

 

●プログラム説明(Round:サンプルプログラム②)
下記のプログラムは、X:=7777とY:=333の割り算を行い、小数点第5位⇒0位までのRound関数を使用した場合の一覧表を作成します。A列には、小数点第何位の数値。B列には、A列で指定したRound関数(小数点位置)の結果をセルに代入しています。

 

 

 ●実行前  (クリックして拡大)

 

 ●実行後 ※A列に小数点位置が表示されます。 B列にA列で指定したRound関数の小数点位置での「四捨五入」結果が表示されました。(クリックして拡大)

 

 

●プログラム説明(Round:サンプルプログラム③) 消費税計算
下記のサンプルプログラムは、実行前の下表にある商品毎の税抜き単価を元に、消費税額をRound関数で求めます。

 

 

 ●実行前 ※下表を元にRound関数を使って消費税額および合計金額を求めます。(クリックして拡大)

 

 ●実行後 ※税抜価格を元に消費税額を求める事ができました。 (クリックして拡大)

 

 

 

EXCEL VBA RoundUp関数(切り上げ)

 

 ●書式の説明
式の部分は、数値でも計算式でも大丈夫です。
※桁数は、小数点以下のどの桁数を四捨五入するか指定します。(桁数1の場合、小数点第2位を判断して小数点第1に反映します。)
Application.WorksheetFunction.RoundUp(式,桁数)  例:Application.WorksheetFunction.RoundUp(123.45,1) は、123.5になります。

 

 ●プログラム説明(RoundUp:サンプルプログラム①)
下記のプログラムは、指定した数値に割り算を行いRoundUpを使った場合とRoundUpを使わない場合の結果をセルに表示させます。

 

 

 ●実行前 ※(クリックして拡大)

 

 ●実行後 ※A列には、計算結果をRoundUP無しでセルに代入・B列には、計算結果をRoundUP有り(小数点第2位)でセルに代入した。 (クリックして拡大)

 

●プログラム説明(RoundUp:サンプルプログラム②)
下記のプログラムは、X:=77777とY:=333の割り算を行い、小数点第5位⇒0位までのRoundUp関数を使用した場合の一覧表を作成します。A列には、小数点第何位の数値。B列には、A列で指定したRoundUp関数(小数点位置)の結果をセルに代入しています。

 

 

 ●実行前 ※A列には、小数点位置。B列にはRoundUp関数の結果が表示されます。 (クリックして拡大)

 

 ●実行後 ※A列に小数点位置が表示されます。 B列にA列で指定したRoundUp関数の小数点位置での「切り上げ」結果が表示されました。(クリックして拡大)

 

 

●プログラム説明(RoundUp:サンプルプログラム③) 消費税計算
下記のサンプルプログラムは、実行前の下表にある商品毎の税抜き単価を元に、消費税額をRoundUp関数で求めます。

 

 

 ●実行前 ※下表を元にRoundUp関数を使って消費税額および合計金額を求めます。(クリックして拡大)

 

 ●実行後 ※税抜価格を元に消費税額を求める事ができました。 (クリックして拡大)

 

 

 

EXCEL VBA RoundDown関数(切り下げ)

 

 ●書式の説明
式の部分は、数値でも計算式でも大丈夫です。
※桁数は、小数点以下のどの桁数を四捨五入するか指定します。(桁数1の場合、小数点第2位を判断して小数点第1に反映します。)
Application.WorksheetFunction.RoundDown(式,桁数)  例:Application.WorksheetFunction.RoundDown(123.45,1) は、123.4になります。

 

 ●プログラム説明(RoundDown:サンプルプログラム①)
下記のプログラムは、指定した数値に割り算を行いRoundDownを使った場合とRoundDownを使わない場合の結果をセルに表示させます。

 

 

 ●実行前 ※(クリックして拡大)

 

 ●実行後 ※A列には、計算結果をRoundDown無しでセルに代入・B列には、計算結果をRoundDown有り(小数点第2位)でセルに代入した。 (クリックして拡大)

 

 

●プログラム説明(RoundDown:サンプルプログラム②)
下記のプログラムは、X:=777777とY:=333の割り算を行い、小数点第5位⇒0位までのRoundDown関数を使用した場合の一覧表を作成します。A列には、小数点第何位の数値。B列には、A列で指定したRoundDown関数(小数点位置)の結果をセルに代入します。

 

 

 ●実行前 (クリックして拡大)

 

 ●実行後 ※A列に小数点位置が表示されます。 B列にA列で指定したRoundDown関数の小数点位置での「切り上げ」結果が表示されました。(クリックして拡大)

 

 

●プログラム説明(RoundDown:サンプルプログラム③) 消費税計算
下記のサンプルプログラムは、実行前の下表にある商品毎の税抜き単価を元に、消費税額をRoundDown関数で求めます。

 

 

 ●実行前 ※下表を元にRoundDown関数を使って消費税額および合計金額を求めます。(クリックして拡大)

 

 ●実行後 ※税抜価格を元に消費税額を求める事ができました。 (クリックして拡大)

 

最後まで、ご覧いただきまして誠に有難うございました。
以上で、Int(整数)・Round(四捨五入)・RoundUp(切り上げ)・RoundDown(切り下げ)の説明でした。サンプルプログラム等を参照して、作成する方法を覚えて下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。
 
★プログラミングスキル向上におすすめ★
【オンライン説明会:詳細】
●開催日時:今すぐ視聴いただけます
※動画の閲覧期限はエントリーから24時間以内となります。
●所要時間:20分
●参加費 :無料
●場所:オンライン開催(日本全国/世界中から参加可能)
●用意頂くもの:パソコン、スマートフォン、タブレットのいずれかインターネット環境
参加申し込み(10秒で完了)