1. 関数を使って端数処理する方法
Excel では、表示だけを変えたい場合と、表示だけではなく実際の数値も変えたい場合のどちらにおいても端数処理が可能です。
まずは表示だけでなく、実際の数値も変えたい場合について、四捨五入、切り捨て、切り上げの順に、それぞれ関数を使った方法を紹介します。
1-1. 四捨五入:ROUND 関数
端数処理をする際、指定した桁数で端数を四捨五入したいときは、「ROUND(ラウンド)関数」を使います。
ROUND 関数の構文と引数は、次のようになります。
=ROUND(数値,桁数)
- 「数値」:四捨五入したい数値または、セルの位置を指定します。
- 「桁数」:四捨五入したい桁数を指定します。桁数を指定するには、整数で指定します。
1 の位を「0」とし、小数点以下第一位は「1」、小数点以下第二位は「2」というように、小数点以下の桁数が増えるごとに正数が増えます。また、十の位を指定したい場合は「-1」、百の位を指定したい場合は「-2」というように、桁が大きくなるごとに負の数が増えます。
ここで勘違いしてはいけないのが、指定した桁数にある数値を四捨五入するのではなく、指定した桁数の 1 つ下の桁の数値を四捨五入するということです。
以下に例を挙げましょう。
=ROUND(1234.567,0)
数値を「1234.567」、桁数を「0」と指定し、ROUND 関数を実行すると、「1235」となります。
指定桁数が 1 の位なので、1 つ下の桁数になる小数点以下第一の数値「5」を四捨五入しています。
1234.567 を桁数の指定整数を変え、四捨五入すると次のようになります。
続いて、単価が小数点以下となるような商品の見積書や請求書などで ROUND 関数を使用した例を挙げます。
G 列のセル G3 には、「C3*D4(数量×単価)」という式を入力し、セル E3 に「=ROUND(G3,0)」という関数式を入力することで、G3 の小数点以下の数値を四捨五入しています。
同様に G4 ~ G7、E4 ~ E7 にも数式と関数式を入力します。
1-2. 切り捨て:ROUNDDOWN 関数
指定した桁数で端数を切り捨てしたいときは、「ROUNDDOWN (ラウンドダウン) 関数」を使います。
ROUNDDOWN 関数の構文と引数は、次のようになります。
=ROUNDDOWN(数値,桁数)
- 「数値」:切り捨てしたい数値またはセルの位置を指定します。
- 「桁数」:切り捨てしたい桁数を指定します。※桁数のあつかいに関しては、ROUND 関数と同様です。
=ROUNDDOWN(1234.567,0)
数値を「1234.567」、桁数を「0」と指定し、ROUNDDOWN 関数を実行すると、「1234」となります。
以下に、単価が小数点以下となるような商品の見積書や請求書などで ROUNDDOWN 関数を使用した例を挙げましょう。
G 列のセル G3 には、「C3*D4(数量×単価)」という式を入力し、セル E3 に「=ROUNDDOWN(G3,0)」という関数式を入力して G3 の小数点以下の数値を切り捨てています。
同様に G4 ~ G7、E4 ~ E7にも数式と関数式を入力します。
切り捨てには ROUNDDOWN 関数の他に、INT 関数や TRUNK 関数が使えます。
それぞれの違いを簡単に紹介します。
INT (イント) 関数
小数点以下の数値を切り捨てて整数にするときに使う関数です。切り捨て桁数が決まっているので、ROUNDDOWN の構文にあるような、「桁数」を指定する必要がありません。
「1,234.567」を INT 関数を使って切り捨てるには、=INT(1234.567) となります。
ROUNDDOWN 関数に比べ入力文字数が少なくなるので便利な関数です。
ただし、負の数値があるときに INT 関数を使う場合は注意が必要です。
負の数値の場合、INT 関数は「0」から離れた数値に切り捨てます。
たとえば、「-1,234.567」という負の数値を INT 関数で切り捨てると、-1,235 となり、ROUNDDOWN 関数を使って切り捨てた場合の -1,234 とは異なった数値となります。
TRUNK (トランク) 関数
ROUNDDOWN 関数と同じ働きをする関数です。構文も同様に、=TRUNK(数値,桁数) となります。ただし、構文の「桁数」を省略できるという違いがあります。
ROUNDDOWN 関数は「桁数」を省略できませんが、TRUNK 関数で桁数を省略すると、桁数が 0 として処理されます。「1,234.567」の小数点以下を切り捨てたい場合、=TRUNK(1234.567) でも =TRUNK(1234.567,0) と同じ数値の「1,234」となります。
1-3. 切り上げ:ROUNDUP 関数
指定した桁数で端数を切り捨てしたいときは、「ROUNDUP (ラウンドアップ) 関数」を使います。
ROUNDUP 関数の構文と引数は、次のようになります。
=ROUNDUP(数値,桁数)
- 「数値」:切り上げしたい数値または、セルの位置を指定します。
- 「桁数」:切り上げしたい桁数を指定します。※桁数の扱いに関しては、ROUND 関数と同様です。
=ROUNDUP(1234.567,0)
数値を「1234.567」、桁数を「0」と指定し、ROUNDUP 関数を実行すると「1235」となります。
以下は、単価が小数点以下となるような商品の見積書や請求書などで ROUNDUP 関数を使用した例です。
G 列のセル G3 には、「C3*D4(数量×単価)」という式を入力し、セル E3 に「=ROUNDUP(G3,0)」という関数式を入力して、G3 の小数点以下の数値を切り上げしています。
同様に G4 ~ G7、E4 ~ E7 にも数式ならびに関数式を入力します。
1-4. 関数を使った端数処理の注意点
関数を使って端数処理をする場合、どの時点で端数処理をするかによって最終的な数値が違ってくる場合があります。
特に「切り捨て」「切り上げ」で端数処理を行った場合、大きく違ってくることもあるので要注意です。
ROUNDDOWN 関数で挙げた例では、それぞれの商品ごとの金額 (数量×単価で算出された数字) を小数点以下で切り捨てし、それを縦計した結果、「¥5,270」となりました。
一方、以下の例は、商品ごとの金額は端数処理 (切り捨て) をせず、縦計の金額を端数処理した場合です。結果として「¥5,272」となりました。
このように、端数処理するタイミングによって結果が違ってきます。
いずれも間違いではありませんが、担当者によって端数処理の仕方が違うと計算が合わないといった問題が生じます。
そうした事態を避けるためにも、端数処理についてのルールを決めておく必要があります。