Excel 切り捨てならINTやTRUNC関数を~ROUND系関数よりも使えることが多い~

Excel 一歩先へ

スポンサーリンク

はじめに

Excelで四捨五入・切上げ・切捨てをする関数といえば、まず一般に挙げられるのが

ROUND系関数
  1. ROUND
  2. ROUNDUP
  3. ROUNDDOWN

で、ROUND系関数といわれる。

これらは当然知らなければいけないが、こと切捨てに関しては、ROUNDDOWN関数をなるべく使わないように努めた方が良い(その方がスマート)と思う。

正直なところ私自身、経理の仕事をしていながら、これらROUND系関数を使うのはご無沙汰だ。
というのも多くの会社でそうだとは思うのだが、私の会社における経理の仕事で四捨五入というのはあまりすることがなく、「小数点以下の端数を切捨てる」という処理が圧倒的に多い。

正確に言うと千円単位や百万円単位で切り捨てる処理が多いのだけど、それなら千や百万で割ってからその数を小数点以下で切り捨てることになるだけだ。

その場合は、ROUNDDOWN関数を用いて切捨てを行うのではなく、INT関数TRUNC関数というそれ用の関数があるので、それを使った方が良い。

私はそれら関数ばかり使うので、ROUND系関数はほとんど使わない。

これらINT関数・TRUNC関数はお手軽なので、今回の記事ではそれらの活用方法を述べ、よりスマートにExcelの切り捨て処理をできるようにしていく。

まずROUND系関数から

では最初に、ROUND系関数の説明から。ROUND系関数は
ROUND(数値,桁数
という構造になっていて、この「桁数」の部分が最も厄介だ。

ROUND系関数の「桁数」
  • 「桁数」が正の数、例えば3であれば小数点以下3桁目で四捨五入等される。
  • 「桁数」が0なら1の位で四捨五入等される。
  • 「桁数」が負の数、例えば△3であれば3桁目(百の位)で四捨五入等される。

ということだけど、言葉で言われたところで、具体例を見なければ分からないと思うので、一応下に図で示してみる。
ROUND系関数
ROUND・ROUNDUP・ROUNDDOWNそれぞれの関数と、「桁数」を使い分けてどういう結果になるか示したものだ。

まあこれはもう、こんな大雑把な図や説明を見るよりも実践あるのみで、自分で実際にやってみないと身につかない。
というか、身につける必要もあまりなくて、その場その場で実際に試して結果を確認しながらやれば良いと思う。

INT関数とTRUNC関数~違いは負の数の処理結果だ~

ここからが、今回の本題、INT関数とTRUNC関数だ。
ROUND系関数はとにかく、「桁数」というのに何か数を指定するのが面倒なんだけど、INT関数とTRUNC関数はそれが必要ない。
=INT(A1)
=TRUNC(100.5)

みたいに、関数の中にはただセル参照や数値を入れるだけで良い。

そして、INT関数とTRUNC関数は共に、「小数点以下を切り捨てる」関数だ。そして違いは、負の数を処理したときの結果だ
INT・TRUNC
上図に示しているように、元の数が正の数であれば、INT関数・TRUNC関数・ついでにROUNDDOWN関数のいずれでも結果は同じだ。
しかし元の数が負の数だと、INT関数だけは結果が違う。

ちょっと説明が難しいがINT関数は、小数点以下での切り捨てということを、その数を「より小さくなる」ように処理することと捉えている。
だから「66.66」という正の数にINT関数を使えば、より小さくするために「66」という答えを返す。

そして「△66.66」という負の数にINT関数を使えば、より小さくするということは「△67」という答えを返す。「△66」より「△67」が小さい数だからね。

でも普通は、「△66.66」を小数点以下で切り捨てするといったら、答えは「△66」を想像するのではないだろうか。
それを実現するのが、TRUNC関数だ。まあROUNDDOWN関数でも同じ結果は得られるのだけど、くり返し言うが「桁数」の指定が面倒だ。

だから、「小数点以下で切り捨てる」処理については、INT関数・TRUNC関数のうち適切な方を選んでやればよい。
というか多分、TRUNC関数の方が適する場面が多いと思うのだけど、TRUNC関数はINT関数に比べて知名度が低いと思うので、ちょっと残念。

スポンサーリンク