Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い

ExcelのFLOOR関数、FLOOR.MATH関数のモード0、モード1 の違いを紹介します。

概要

ExcelのFLOOR関数を利用する際に、オートコンプリートでFLOORとFLOOR.MATH の2つの関数が表示されます。 似た名前の関数ですが、どのような違いがあるのかを紹介します。

FLOOR.MATH 関数

FLOOR.MATH関数は第三引数にモードを指定することができます。モードは0または1を指定できます。省略した場合は0になります。

書式は次の通りです。

FLOOR.MATH([丸める値],[基準値],[モード])

FLOOR,FLOOR.MATH の比較

FLOOR, FLOOR.MATH モード0, FLOOR.MATH モード1 のそれぞれの結果を確認します。

次の表を作成します。
Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像1

Value
2.12
1.0952
0.8825
0.21525
0
-0.1859
-0.335
-0.88877
-1.25943
-2.4563


C3セルに次の数式を入力します。

=FLOOR(B3,1)

Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像2

D3セルに次の数式を入力します。

=FLOOR.MATH(B3,1)

Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像3

E3セルに次の数式を入力します。

=FLOOR.MATH(B3,1,1)

Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像4

C.D,E列のそれぞれの関数の結果が出ました。今のところ違いはありません。
Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像5

C3,D3,E3セルをコピーし、4行目以降にペーストします。
Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像6

以下の結果となりました。
Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像7

ValueFLOOR FLOOR.MATH
mode=0
FLOOR.MATH
mode=1
2.12222
1.0952111
0.8825000
0.21525000
0000
-0.1859-1-10
-0.335-1-10
-0.88877-1-10
-1.25943-2-2-1
-2.4563-3-3-2

TRUNCとFLOOR.MATHの違い

先の表にTRUNC関数の結果の列も追加し以下の表を作成します。

ValueFLOORFLOOR.MATH
mode=0
FLOOR.MATH
mode=1
TRUNC
2.12=FLOOR(B4,1)=FLOOR.MATH(B4,1,0)=FLOOR.MATH(B4,1,1)=TRUNC(B4)
1.0952=FLOOR(B5,1)=FLOOR.MATH(B5,1,0)=FLOOR.MATH(B5,1,1)=TRUNC(B5)
0.8825=FLOOR(B6,1)=FLOOR.MATH(B6,1,0)=FLOOR.MATH(B6,1,1)=TRUNC(B6)
0.21525=FLOOR(B7,1)=FLOOR.MATH(B7,1,0)=FLOOR.MATH(B7,1,1)=TRUNC(B7)
0=FLOOR(B8,1)=FLOOR.MATH(B8,1,0)=FLOOR.MATH(B8,1,1)=TRUNC(B8)
-0.1859=FLOOR(B9,1)=FLOOR.MATH(B9,1,0)=FLOOR.MATH(B9,1,1)=TRUNC(B9)
-0.335=FLOOR(B10,1)=FLOOR.MATH(B10,1,0)=FLOOR.MATH(B10,1,1)=TRUNC(B10)
-0.88877=FLOOR(B11,1)=FLOOR.MATH(B11,1,0)=FLOOR.MATH(B11,1,1)=TRUNC(B11)
-1.25943=FLOOR(B12,1)=FLOOR.MATH(B12,1,0)=FLOOR.MATH(B12,1,1)=TRUNC(B12)
-2.4563=FLOOR(B13,1)=FLOOR.MATH(B13,1,0)=FLOOR.MATH(B13,1,1)=TRUNC(B13)

Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像8

結果は下図です。TRUNCの結果は、FLOOR.MATH の mode=1 の結果と同じことがわかります。

ValueFLOORFLOOR.MATH
mode=0
FLOOR.MATH
mode=1
TRUNC
2.122222
1.09521111
0.88250000
0.215250000
00000
-0.1859-1-100
-0.335-1-100
-0.88877-1-100
-1.25943-2-2-1-1
-2.4563-3-3-2-2


Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像9

まとめ

結果の表を確認すると、FLOORとFLOOR.MATH mode=0 は同じ動作になります。 FLOOR.MATH mode=1 の場合は、負の数値の場合の動作が異なり、0に近い値を結果として返す動作になります。

基準値が1の場合の結果
基準値が1の場合の結果 - Excel関数 FLOOR, FLOOR.MATH モード0、モード1 の違い / TRUNC と FLOOR.MATH の違い:画像10


また、FLOORとTRUNCでは数値の切り捨てですが、結果が異なります。FLOOR.MATH の mode=1 と TRUNC の結果は同じになることも確認できました。

AuthorPortraitAlt
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
作成日: 2024-03-16
Copyright © 1995–2025 iPentec all rights reserverd.