FLOOR関数/CEILING関数を利用して整数に直す方法|Salesforce

FLOOR関数とCEILING関数を使って、小数点以下を持つ値を整数に変換する方法について詳しく解説します。

FLOOR関数/CEILING関数とは?それぞれ解説

FLOOR関数CEILING関数は、数値や通貨のデータ型の項目を使用する際、特定の基準に基づいて小数点以下の値の処理を行うための関数です。

具体的には、FLOOR関数は小数点以下を切り捨て、CEILING関数は小数点以下を切り上げます。詳しくは以下で例も提示していきます。

FLOOR関数とは?

FLOOR関数は、指定した数値を切り捨てて、最も近い整数に変換する関数です。例えば、3.7という数値があった場合、FLOOR関数を使うと3になります。

  • FLOOR(3.7) は 3
  • FLOOR(2.1) は 2

CEILING関数とは?

CEILING関数は、指定した数値を切り上げて、最も近い整数に変換する関数です。例えば、3.2という数値があった場合、CEILING関数を使うと4になります。

  • CEILING(3.2) は 4
  • CEILING(1.8) は 2

負の数に対してはFLOOR関数/CEILING関数の動作が異なる

負の数値を扱う際、FLOOR関数とCEILING関数の動作が異なる点に注意が必要です。FLOOR関数は負の数値をさらに小さい整数に切り捨て、CEILING関数は負の数値をさらに大きい整数に切り上げます。

この違いを理解して、目的に応じた関数を選びましょう。

  • 負の数の場合のFLOOR関数の動作例
    • FLOOR(-2.3) は -3
    • FLOOR(-1.7) は -2
  • 負の数の場合のCEILING関数の動作例
    • CEILING(-2.8) は -2
    • CEILING(-1.2) は -1

つまり、見た目上は逆の動きをしているように見えるのですが、FLOORは少なく切り捨てる、CEILINGは大きい値に切り上げるので、算数的な動きは変わりません。見た目上逆の動きをしているように見えますので、その点に考慮が必要ということです。

SalesforceでのFLOOR関数/CEILING関数の設定方法

下図は実際にSalesforce上で作成した項目です。作成後のイメージとなります。「元の値」は手入力の通貨項目、その下の2つの項目はFLOOR関数/CEILING関数をそれぞれ使用して、元の値の値を参照している数式項目です。

元の金額の1,000,000.1円が、FLOOR関数の場合は切り捨てられ、CEILING関数の場合は切り上げられているのが分かります。

このサンプルを作成した際の具体的な設定方法は以下の通りです。

まず、元の金額を作りました。通貨型の項目です。ここで、文字数を17、小数点の位置を1に設定し、小数点第一位まで表現できる項目にしました。(カスタム項目作成の基本はこちらから

 

FLOOR関数/CEILING関数の設定方法は同じなので、FLOOR関数のみをベースに解説します。

数式型の項目を作成します。数式の戻り値のデータ型は通貨型を選択しました。もちろん数式型でも使用できます。(数式の作成の基本はこちらから

次に小数点の位置を1にし、小数点第一位まで表示できるようにしました。これはサンプルとして記事にするためにそうしたのであって、本来は小数点以下を切り捨てたいからFLOOR関数を使うので、小数点以下は表示しない設定にするのが正しいでしょう。

数式は「FLOOR()」を使い、カッコ内に整数にしたい値や項目を入れます。上図ではFLOOR( Default_Amount__c )としています。

FLOOR関数/CEILING関数は関数選択窓を「計算」にすると見つけやすいです。