Excel

【Excel】エクセルで1円単位で切り上げ・切り捨て・四捨五入(小数点以下:1の位:金額・価格:関数やVBAマクロも)する方法

当サイトでは記事内に広告を含みます
技術ブログ特化メルマガはこちら

この記事では、【Excel】エクセルで1円単位(小数点以下)で切り上げ・切り捨て・四捨五入(1の位:金額・価格:関数やVBAマクロも)する方法について解説していきます。

早速詳しく見ていきましょう!

 

エクセルで金額を1円単位で切り上げする方法【1の位:関数】

エクセルで金額を1円単位で切り上げするには、ROUNDUP関数を使用します。

例えば、元データがB列にあり、C列に切り上げ後の金額を出力したい場合、C2セルに以下の数式を入力するといいです。

=ROUNDUP(B2,0)

 

この数式の引数の意味は以下の通りです。

B2: 切り上げ対象の金額が入力されているセル
0: 小数点以下の桁数。0を指定することで、小数点以下を四捨五入せずに切り上げします(つまり1円単位)

 

元が1234.5の数値が1235と1円単位で切り上げられました!

入力後、C2セルの右下をドラッグしてオートフィルすることで、B列の金額を一括で1円単位の1円単位(小数点以下で)切り上げ処理できます。

 

VBA(マクロ)の場合

Alt+F11でVBE画面を開いて以下をコピペしましょう。

Sub RoundUpYen()
    Dim lastRow As Long
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        .Range("C2:C" & lastRow).Formula = "=ROUNDUP(B2,0)"
        .Range("C2:C" & lastRow).Value = .Range("C2:C" & lastRow).Value
    End With
End Sub

 

コードのポイント

・lastRow: B列の最終行を取得

・Range(“C2:C” & lastRow).Formula: C2からC最終行までに数式を一括入力

・ Range(“C2:C” & lastRow).Value: 数式を値に変換(数式から値に変えたい人はここを適用。数式のままの場合は、このコード削除でOK)

 

Alt+F8でマクロ選択画面を開きRoundUpYen関数を実行すれば処理完了ですね。

 

エクセルで金額を1円単位で切り捨てする【関数】

1円単位の切り捨ては、ROUNDDOWN関数を使用します。

C2セルに以下の数式を入力します。

数値丸めはROUND~~関数シリーズと覚えておくといいですね(^^)/

=ROUNDDOWN(B2,0)

 

この数式の引数の意味は以下の通りです。

B2: 切り捨て対象の金額が入力されているセル
0: 小数点以下の桁数。0を指定することで、小数点以下を四捨五入せずに切り捨てします。

 

VBA(マクロ)の場合

Sub RoundDownYen()
    Dim lastRow As Long
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        .Range("C2:C" & lastRow).Formula = "=ROUNDDOWN(B2,0)"
        .Range("C2:C" & lastRow).Value = .Range("C2:C" & lastRow).Value
    End With
End Sub

 

ROUNDUP関数をROUNDDOWN関数に変更した以外は同様です。

RoundDownYen関数を実行します。

 

エクセルで金額を1円単位で四捨五入する【関数】

1円単位の四捨五入は、ROUND関数を使用します。

C2セルに以下の数式を入力します。

=ROUND(B2,0)

この数式の意味は以下の通りです。

B2: 四捨五入対象の金額が入力されているセル
0: 小数点以下の桁数。0を指定することで、小数点以下を四捨五入します。

 

VBA(マクロ)の場合

Sub RoundYen()
    Dim lastRow As Long
    With ActiveSheet
        lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
        .Range("C2:C" & lastRow).Formula = "=ROUND(B2,0)"
        .Range("C2:C" & lastRow).Value = .Range("C2:C" & lastRow).Value
    End With  
End Sub

 

ROUNDUP関数をROUND関数に変更した以外は同様です。

RoundYen関数を実行します。

なお、関連記事として

100円単位での切り上げ・切り捨て・四捨五入はこちらで解説

10円単位での切り上げ・切り捨て・四捨五入はこちらで解説

のため、併せて確認してみてください♪

まとめ エクセルで1円単位で切り捨て・四捨五入(小数点以下:1の位:金額・価格:関数やVBAマクロも)する方法

以上、エクセルで1円単位の切り上げ・切り捨て・四捨五入する方法をご紹介しました。

関数を使えば簡単に一括処理ができ、マクロを使えばワンクリックで実行できます。

金額計算の際にぜひ活用してみてください。