関数 四捨五入・切上げ・切捨てVBandVBA
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
Sub RoundingOff() '********************************** '四捨五入・切上げ・切捨てVBandVBA '********************************** Dim dblPlus(1) As Double Dim dblMinus(1) As Double dblPlus(0) = 99.4 dblPlus(1) = 99.5 dblMinus(0) = -99.4 dblMinus(1) = -99.5 'Int 関数 '引数の小数部分を取り除いた整数値を返します。 Debug.Print Int(dblPlus(0)) Debug.Print Int(dblPlus(1)) Debug.Print Int(dblMinus(0)) Debug.Print Int(dblMinus(1)) ' 99 ' 99 ' -100 ' -100 'Fix 関数 '引数の小数部分を取り除いた整数値を返します。 Debug.Print Fix(dblPlus(0)) Debug.Print Fix(dblPlus(1)) Debug.Print Fix(dblMinus(0)) Debug.Print Fix(dblMinus(1)) ' 99 ' 99 ' -99 ' -99 'データ型変換関数 'CInt 関数 '値を整数型 (Integer) に変換します。 Debug.Print CInt(dblPlus(0)) Debug.Print CInt(dblPlus(1)) Debug.Print CInt(dblMinus(0)) Debug.Print CInt(dblMinus(1)) ' 99 ' 100 ' -99 ' -100 'Format 関数 '式を指定した書式に変換し、値を返します。 Debug.Print Format(dblPlus(0), "0") Debug.Print Format(dblPlus(1), "0") Debug.Print Format(dblMinus(0), "0") Debug.Print Format(dblMinus(1), "0") ' 99 ' 100 ' -99 ' -100 'Round 関数 '指定された小数点位置で丸めた数値を返します。 '引数2を省略すると、Round 関数は整数値を返します。 Debug.Print Round(dblPlus(0), 0) Debug.Print Round(dblPlus(1), 0) Debug.Print Round(dblMinus(0), 0) Debug.Print Round(dblMinus(1), 0) ' 99 ' 100 ' -99 ' -100 'Application.WorksheetFunction 'ワークシート関数を使用する 'Round 四捨五入 '引数2を省略すると、Round 関数は整数値を返します。 Debug.Print Application.WorksheetFunction.Round(dblPlus(0), 0) Debug.Print Application.WorksheetFunction.Round(dblPlus(1), 0) Debug.Print Application.WorksheetFunction.Round(dblMinus(0), 0) Debug.Print Application.WorksheetFunction.Round(dblMinus(1), 0) ' 99 ' 100 ' -99 ' -100 'RoundDown 切り捨て '引数2を省略すると、RoundDown 関数は整数値を返します。 Debug.Print Application.WorksheetFunction.RoundDown(dblPlus(0), 0) Debug.Print Application.WorksheetFunction.RoundDown(dblPlus(1), 0) Debug.Print Application.WorksheetFunction.RoundDown(dblMinus(0), 0) Debug.Print Application.WorksheetFunction.RoundDown(dblMinus(1), 0) ' 99 ' 99 ' -99 ' -99 'RoundUp 切り上げ '引数2を省略すると、RoundUp 関数は整数値を返します。 Debug.Print Application.WorksheetFunction.RoundUp(dblPlus(0), 0) Debug.Print Application.WorksheetFunction.RoundUp(dblPlus(1), 0) Debug.Print Application.WorksheetFunction.RoundUp(dblMinus(0), 0) Debug.Print Application.WorksheetFunction.RoundUp(dblMinus(1), 0) ' 100 ' 100 ' -100 ' -100 'プラス正値とマイナス負値の扱いに要注意ですが '※エクセルが使える環境ですと「Application.WorksheetFunction」 'を使った方が用途が多いですね。 End Sub |