過去に「Excel 数値の四捨五入など」記事で、数値の“丸め”処理・端数処理に使われる「ROUND」関数などについてご紹介しました。
その中でも“切り捨て”または“切り下げ”や“切り上げ”という端数処理に使う関数がいくつもあり、それらの使い分けに迷うことが多いですね。

今回は、切り捨てに関する関数のうち、表題の「INT」「ROUNDDOWN」「TRUNC」関数の違いについてご紹介します。
次回に、「FLOOR.MATH」「FLOOR.PRECISE」関数を取り上げます。

まず、それぞれの関数の書式と意味合いを列記しておきます。

INT関数 ‥‥ 指定された数値を最も近い整数に切り捨てます

その書式は INT(数値) で、引数には切り捨てて整数にする数値あるいは参照セルを指定します。
Microsoftのサポートページ「INT関数
ちなみに、元の英語は「integer」で、整数という意味です。

ROUNDDOWN関数 ‥‥ 数値を指定された桁数で切り捨てます

その書式は ROUNDDOWN(数値, 桁数) で、第1引数の数値には切り捨ての対象となる数値あるいは参照セルを、第2引数の桁数には切り捨てた結果の桁数をそれぞれ指定します。

Microsoftのサポートページ「ROUNDDOWN関数
ちなみに、元の英語「round down」は「〈数の〉端数を〔…に〕切り下げる、切り捨てる」という意味です。

TRUNC関数 ‥‥ 数値の小数部を切り捨てて、整数または指定した桁数に変換します

その書式は TRUNC(数値, [桁数]) で、第1引数の数値には対象とする数値あるいは参照セルを、第2引数の桁数には切り捨てた後の桁数をそれぞれ指定します。
第2引数の桁数は、省略可能で、既定値は 0 です。

Microsoftのサポートページ「TRUNC関数
ちなみに、元の英語「truncate」は「頭[端]を切る、切り縮める」という意味です。

一番単純(?)なのが INT関数で、引数も 1つです。
数値を整数に変換します。
「整数」とは、小数点や分数を含めない、正の数、0、負の数のことです。
ただし、後述するように、数値が負の数であるときの扱いに注意が必要です。

一方、ROUNDOWN関数と TRUNC関数は、第2引数の桁数が後者では省略可能であることを除けば違いはありません。

それでは、いくつか使い方を見てみましょう。
まず、INT関数の引数に正・0・負の数値を与えてみます。(下図)

 

INT関数の引数(数値)が 0または正の値であるときは、単に小数部を切り捨てて整数にするだけです。
注意すべきは数値が負の値であるときです。
上記の説明でも「最も近い整数に切り捨て」と表現されていますが、負の値であるときは「0から離れた数値に切り捨てる」ということになります。
むしろ「切り下げ」るという表現のほうが分かりやすいかもしれません。

ROUNDOWN関数で同様に試してみます。(下図)

 

第2引数で指定する小数点以下の桁数で切り捨てます。
「0」と指定すると小数点以下を単純に切り捨て、「1」とすると小数点以下 1桁までを残してそれ以下を切り捨て、「-1」とすると 10の位以上は残し 1の位以下を切り捨てます。
数値が負の値のときでも、INT関数のような分かりにくさはなく単純に指定桁数以下を切り捨てるだけです。

TRUNC関数で同じように試してみます。(下図)

 

上述したように、第2引数(桁数)が省略可能であることを除けば ROUNDOWN関数と同じ動作となります。
そのため、たくさんの関数を覚えたくないときは ROUNDOWN関数だけ覚えればよろしいでしょう。
ROUNDOWN関数で第2引数(桁数)を入れ忘れればエラーになりますが、TRUNC関数ではエラーになりません。
そのため、桁数を指定するところで忘れてしまってもエラーにならないので、ミスに気付きづらいということが起きます。