ヘルプセンター
background
人事評価
  1. SmartHRヘルプセンター
  2. 有料オプション
  3. 人事評価
  4. 評価テンプレートを準備する
  5. 【一覧】計算結果フォームで使える関数と計算記号

【一覧】計算結果フォームで使える関数と計算記号

対象読者:
管理者・担当者向け
対象プラン:
タレントマネジメントHRストラテジー

評価シートの計算結果フォームで使える関数と計算記号について説明します。

関数

関数は、引数に指定された値に対して、それぞれの関数に固有の処理を行ない、その結果を評価シート上に出力します。

引数は、関数の()内で指定します。複数の引数を指定する場合は,で区切ります。

SUM(1,2,3,4,5)

引数には計算式を指定できます。例えば、SUM(1,2+3,4+5)のように処理できます。

引数には評価項目を指定できます。例えば、SUM([評価項目A],[評価項目B],[評価項目C])のように処理できます。評価シート上で未入力の評価項目は引数から除外されます。

合計(SUM)

SUM関数は、引数として指定された任意の複数の値を合計します。

構文

SUM(値1,[値2],...)

値1(第1引数)は必須です。値2(第2引数)以降は任意の個数を指定できます。

使用例

SUM(1,2,3,4)
=>結果は10.0

引数に評価項目を指定した場合、評価シート上で未入力の評価項目は引数から除外されます。例えばSUM(1,2,[評価項目A])という計算結果フォームにおいて評価項目Aが未入力だと出力結果は3.0となります。

平均(AVERAGE)

AVERAGE関数は、引数として指定された任意の複数の値の平均値を計算します。

構文

AVERAGE(値1,[値2],...)

値1(第1引数)は必須です。値2(第2引数)以降は任意の個数を指定できます。

使用例

AVERAGE(1,2,3)
=>結果は2.0

引数に評価項目を指定した場合、評価シート上で未入力の評価項目は引数から除外されます。例えばAVERAGE(1,2,3,[評価項目A])という計算結果フォームにおいて評価項目Aが未入力だと出力結果は2.0となります。

絶対値(ABS)

ABS関数は、引数に指定した数値の絶対値を表示します。絶対値とは、数値から符号 (+、-) を除いた数の大きさのことです。

構文

ABS(値)

値(引数)は必須です。

使用例

ABS(-1)
=>結果は1.0

引数に評価項目を指定した場合、評価シート上で未入力の評価項目は引数から除外されます。例えばABS([評価項目A])という計算結果フォームにおいて評価項目Aが未入力だと出力結果は---となります。

四捨五入(ROUND)

ROUND関数は、第1引数に指定した数値を四捨五入します。

構文

ROUND(値1,[値2])
  • 値1(第1引数)は必須です。四捨五入する対象の値を指定します。
  • 値2(第2引数)は任意です。
    • 省略されると、小数点第1位を四捨五入します。
    • 小数部分を残したいときは、正の数を入れることで、残したい小数点の桁数を指定します。
    • 整数部分を四捨五入したいときは、負の数を入れることで、四捨五入する位を指定します。

使用例

ROUND(108.546)
=>109.0(小数第1位が四捨五入される)

ROUND(108.546, 2)
=>108.55(小数第3位が四捨五入される)

ROUND(108.546, -1)
=>110.0(整数1桁目が四捨五入される)

切り上げ(ROUNDUP)

ROUNDUP関数は、第1引数に指定した数値を切り上げします。

構文

ROUNDUP(値1,[値2])
  • 値1(第1引数)は必須です。切り上げする対象の値を指定します。
  • 値2(第2引数)は任意です。
    • 省略されると、小数点第1位を切り上げします。
    • 小数部分を残したいときは、正の数を入れることで、残したい小数点の桁数を指定します。
    • 整数部分を切り上げしたいときは、負の数を入れることで、切り上げする位を指定します。

使用例

ROUNDUP(108.246)
=>109.0(小数第1位が切り上げされる)

ROUNDUP(108.546, 2)
=>108.55(小数第3位が切り上げされる)

ROUNDUP(103.546, -1)
=>110.0(整数1桁目が切り上げされる)

切り捨て(ROUNDDOWN)

ROUNDDOWN関数は、第1引数に指定した数値を切り捨てします。

構文

ROUNDDOWN(値1,[値2])
  • 値1(第1引数)は必須です。切り捨てる対象の値を指定します。
  • 値2(第2引数)は任意です。
    • 省略されると、小数点第1位を切り捨てます。
    • 小数部分を残したいときは、正の数を入れることで、残したい小数点の桁数を指定します。
    • 整数部分を切り捨てたいときは、負の数を入れることで、切り捨てる位を指定します。

使用例

ROUNDDOWN(108.546)
=>108.0(小数第1位が切り捨てされる)

ROUNDDONW(108.546, 2)
=>108.54(小数第3位が切り捨てされる)

ROUNDDOWN(108.546, -1)
=>100.0(整数1桁目が切り捨てされる)

IF(条件分岐)

IF関数は、第1引数に指定した条件式がTRUEの場合、第2引数を返します。第1引数に指定した条件式がFALSEの場合、第3引数を返します。

構文

IF(条件式,値1,値2)
  • すべての引数が必須です。
  • 第1引数では判定したい条件式を指定します。
  • 第2引数は条件式がTRUEの場合に返す数値を指定します。
  • 第3引数は条件式がFALSEの場合に返す数値を指定します。

使用例

IF(100>50, 1, 0)
=>1.0(100は50より大きいので、1が返される)

IF(100<50, 1, 0)
=>0.0(100は50より小さくないので、0が返される)

IF(100>50, "真", "偽")
=>"真"(100は50より大きいので、"真"が返される)

IF(100<50, "真", "偽")
=>"偽"(100は50より小さくないので、"偽"が返される)

AND

AND関数は、与えられたすべての引数(条件式)がTRUEの場合、TRUEを返します。

AND関数はIF関数の条件式(第1引数)にのみ使用できます。

構文

AND(条件式1,条件式2,...)
  • 条件式1(第1引数)は必須です。判定したい条件式を指定します。
  • 条件式2(第2引数)は任意です。
  • 第2引数以降は任意の数の条件式を指定できます。
  • 与えられたすべての条件式がTRUEの場合、TRUEを返します。

使用例

AND(100>=10, 10>=1)
=>TRUE(与えられたすべての条件式がTRUEなので、TRUEが返される)

AND(100>=10, 10=1)
=>FALSE(条件式2(第2引数)がFALSEなので、FALSEが返される)

AND(1000>=100, 100>=10, 10>=1)
=>TRUE(与えられたすべての条件式がTRUEなので、TRUEが返される)

OR

OR関数は、与えられたすべての引数(条件式)の内いずれか1つがTRUEの場合、TRUEを返します。

OR関数はIF関数の条件式(第1引数)にのみ使用できます。

構文

OR(条件式1,条件式2,...)
  • 条件式1(第1引数)は必須です。判定したい条件式を指定します。
  • 条件式2(第2引数)は任意です。
  • 第2引数以降は任意の数の条件式を指定できます。
  • 与えられた条件式の内いずれか1つでもTRUEの場合、TRUEを返します。

使用例

OR(100>=10, 10>=1)
=>TRUE(与えられたすべての条件式がTRUEなので、TRUEが返される)

OR(100>=10, 10=1)
=>TRUE(条件式1(第1引数)がTRUEなので、TRUEが返される)

OR(1000=100, 100=10, 10=1)
=>FALSE(与えられたすべての条件式がFALSEなので、FALSEが返される)

計算記号

計算記号は、記号でつなげた値同士で計算を行ないます。 計算結果は評価シート上に出力されます。

計算記号は半角で入力します。 また、計算式に、= を入力する必要はありません。

1+1
2-1
4*100
5/2

数値のほか、計算結果フォームと同じ評価テンプレート上にある一部の評価項目も値として使えます。計算に使える評価項目のフォームの種類は以下の3種類です。

[評価項目A]+100
[評価項目A]*[評価項目B]

評価項目を指定すると、評価シートに入力された値を参照します。ただし、評価シート上でその評価項目が未入力の場合、計算結果は出力されません。例えば、[評価項目A]+3という計算結果フォームは、評価項目Aが評価シート上で未入力の場合、---とだけ出力されます。

加算(足し算)

+は加算記号です。この記号でつなげた値を足し合わせます。

例えば、1+1の計算結果は2.0になります。

減算(引き算)

-は減算記号です。この記号でつなげた左の値から右の値を引きます。

例えば、2-1の計算結果は1.0になります。

乗算(かけ算)

*は乗算記号です。この記号でつなげた値同士をかけます。

例えば、2*2の計算結果は4.0になります。

除算(割り算)

/は除算記号です。この記号でつなげた左の値を右の値で割ります。

例えば、4/2の計算結果は2.0になります。

ネスト(丸括弧)

()の中は優先して計算されます。

例えば、2*(4-3)の計算結果は2.0になります。

>(大なり)

左辺に与えられた数値が右辺に与えられた数値よりも大きい場合、TRUEを返します。

>(大なり)はIF関数の条件式(第1引数), AND関数、OR関数にのみ使用できます。

構文

値1>値2
  • 値1、値2は必須です。
  • 値1が値2よりも大きい場合、TRUEを返します。

使用例

2>1
=>TRUE(2は1より大きいので、TRUEが返される)

1>2
=>FALSE(1は2より大きくないので、FALSEが返される)

>=(大なりイコール)

左辺に与えられた数値が右辺に与えられた数値以上の場合、TRUEを返します。

>=(大なりイコール)はIF関数の条件式(第1引数), AND関数、OR関数にのみ使用できます。

構文

値1>=値2
  • 値1、値2は必須です。
  • 値1が値2以上の場合、TRUEを返します。

使用例

2>=1
=>TRUE(2は1以上なので、TRUEが返される)

1>=2
=>FALSE(1は2以上ではないので、FALSEが返される)

<(小なり)

左辺に与えられた数値が右辺に与えられた数値よりも小さい場合、TRUEを返します。

<(小なり)はIF関数の条件式(第1引数), AND関数、OR関数にのみ使用できます。

構文

値1<値2
  • 値1、値2は必須です。
  • 値1が値2よりも小さい場合、TRUEを返します。

使用例

1<2
=>TRUE(1は2より小さいので、TRUEが返される)

2<1
=>FALSE(2は1より小さくないので、FALSEが返される)

<=(小なりイコール)

左辺に与えられた数値が右辺に与えられた数値以下の場合、TRUEを返します。

<=(小なりイコール)はIF関数の条件式(第1引数), AND関数、OR関数にのみ使用できます。

構文

値1<=値2
  • 値1、値2は必須です。
  • 値1が値2以下の場合、TRUEを返します。

使用例

1<=2
=>TRUE(1は2以下なので、TRUEが返される)

2<=1
=>FALSE(2は1以下ではないので、FALSEが返される)

=(イコール)

左辺に与えられた数値が右辺に与えられた数値と等しい場合、TRUEを返します。

=(イコール)はIF関数の条件式(第1引数), AND関数、OR関数にのみ使用できます。

構文

値1=値2
  • 値1、値2は必須です。
  • 値1が値2と等しい場合、TRUEを返します。

使用例

1=1
=>TRUE(1と1は等しいので、TRUEが返される)

1=2
=>FALSE(1と2は等しくないので、FALSEが返される)

<>(ノットイコール)

左辺に与えられた数値が右辺に与えられた数値と異なる場合、TRUEを返します。

<>(ノットイコール)はIF関数の条件式(第1引数), AND関数、OR関数にのみ使用できます。

構文

値1<>値2
  • 値1、値2は必須です。
  • 値1が値2と異なる場合、TRUEを返します。

使用例

1<>2
=>TRUE(1と2は異なるので、TRUEが返される)

1<>1
=>FALSE(1と2は異ならないので、FALSEが返される)

設定例

COUNT の再現

入力された項目の数をカウントする例です。

SUM(IF([評価項目A] = [評価項目A], 1, 0), IF([評価項目B] = [評価項目B], 1, 0), IF([評価項目C] = [評価項目C], 1, 0))

COUNTIF の再現

特定の条件を満たす項目の数をカウントする例です。

SUM(IF([評価項目A] >= 4, 1, 0), IF([評価項目B] >= 4, 1, 0), IF([評価項目C] >= 4, 1, 0))
=> 評価項目の値が4以上の項目の数をカウントします。

0 を除いた平均

値が0の項目は除外して平均値を計算する例です。

SUM([評価項目A], [評価項目B], [評価項目C]) / SUM(IF([評価項目A] = 0, 0, 1), IF([評価項目B] = 0, 0, 1), IF([評価項目C] = 0, 0, 1))

ISBLANKの再現

項目が未入力の場合に特定の値を返す例です。

IF(SUM(IF([評価項目] = [評価項目], 1, 0), 0) <> 1, "評価項目は未入力", "評価項目は入力済み")

式を分解して、詳細を説明します。

IF文の中にあるSUM(IF([評価項目] = [評価項目], 1, 0), 0)では、「評価項目」に値が入っているかをチェックしています。

「評価項目」が未入力の場合、IFの部分の計算は行なわれません。これは、SUM関数の「未入力や未計算の値は合計しない」という仕様を利用しています。 そのため、SUM([未計算], 0) となり、SUMの結果は0になります。

「評価項目」が入力されている場合は、IF([評価項目] = [評価項目], 1, 0) の計算結果が1になり、SUMの結果も1になります。 同じ評価項目同士を比較しているため、必ず同じ値になることを利用しています。

このSUM(IF([評価項目] = [評価項目], 1, 0), 0)の部分を[SUMの結果]と置き換えて、改めて計算式を見てみましょう。 IF([SUMの結果] <> 1, "評価項目は未入力", "評価項目は入力済み")は、SUMの結果を元に値の出し分けを行なっている条件式です。

「評価項目」が未入力の場合、SUMの結果は0となり、0 <> 1となります。[SUMの結果] <> 1 の条件式がTRUEになるため、第2引数である評価項目は未入力が表示されます。

一方、「評価項目」が入力済みの場合、SUMの結果は1で、1 <> 1となります。[SUMの結果] <> 1 の条件式はFALSEになるため、第3引数である評価項目は入力済みが表示されます。

行動指針(文字列)の出し分け

特定の条件を満たす場合に、異なる文字列を出力する例です。

例えば、等級の選択によって、行動指針の文字列を出し分ける場合です。

  • 等級:選択肢項目で "5等級", "4等級", "3等級", "2等級", "1等級" を設定している
  • 行動指針:固定テキスト項目で[N等級行動指針]を設定している
IF( [等級] = "5等級", [5等級行動指針], IF( [等級] = "4等級", [4等級行動指針], IF( [等級] = "3等級", [3等級行動指針], IF( [等級] = "2等級", [2等級行動指針], IF( [等級] = "1等級", [1等級行動指針], "該当の等級の行動指針がありません")))))

評点の出し分け

特定の条件を満たす場合に、異なる評点を出力する例です。

例えば、評価の選択肢項目で "S", "A", "B" を設定し、難易度の選択肢項目で "高", "中" を設定している場合です。

評価難易度 高難易度 中
S50点45点
A40点35点
B30点25点

上記の表で当てはまらない場合は0点となります。

IF( [評価] = "S" , IF( [難易度] = "高", 50, IF( [難易度] = "中", 45, 0) ) , IF( [評価] = "A" , IF( [難易度] = "高", 40, IF( [難易度] = "中", 35, 0) ), IF( [評価] = "B" , IF( [難易度] = "高", 30, IF( [難易度] = "中", 25, 0) ), 0)))

ご意見をお聞かせください。

このページは役に立ちましたか?