ヘルプセンター
background
人事評価
  1. SmartHRヘルプセンター
  2. 有料オプション
  3. 人事評価
  4. 評価テンプレートを準備する
  5. 【一覧】計算式の検証時のエラーと対処方法

【一覧】計算式の検証時のエラーと対処方法

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

計算結果フォームの編集時に利用できる「計算式の検証」で表示されるエラーメッセージと、それに対する対処方法を説明します。

フォームの値の種類が原因のエラーメッセージ

人事評価機能のフォームに入力された内容は、数値と文字列のどちらかになります。

計算式では、この数値と文字列を組み合わせるとエラーになる場合があります。ここでは、具体的なエラーメッセージと、それに対する対処方法を説明します。

入力内容が数値と文字列のどちらになるかは、フォームの種類や設定によって異なります。フォームに入力された値がどちらになるかは、【一覧】評価シートで使えるフォームで確認してください。

見た目は数値(100など)に見えても、実際は文字列であったりする場合もあるため、注意してください。

入力した計算式は無効です。計算記号(+, -, *, /)が次の文字列とつながっています:「◯◯」,「△△」

文字列同士では加減乗除(足し算、引き算、かけ算、割り算)の計算はできません。エラーメッセージで指摘されている入力内容が、数値ではなく文字列になっていないか、から確認してください。

エラーが発生する具体例 以下の例では、計算式で2つのテキスト入力フォームを+でつなげています。しかしテキスト入力フォームに入力されるのは文字列なので、文字列どうしは計算できず、検証でエラーが出ます。

[テキスト入力フォーム] + [テキスト入力フォーム]
文字列同士で加減乗除している例(誤)画像を表示する

修正後

計算式で使うテキスト入力フォームを数値入力フォームに変更すると、計算できるようになります。

[数値入力フォーム] + [数値入力フォーム]
文字列同士で加減乗除している例(正)画像を表示する

入力した計算式は無効です。計算記号(=, <>, >, <, >=, <=)が次の文字列とつながっています:文字列「◯◯」、数値「10」

文字列と数値では、比較の計算はできません。エラーメッセージで指摘されている入力内容が、意図せず文字列や数値になっていないか、から確認してください。

エラーが発生する具体例 以下の例では、テキスト入力フォームの内容を、>を使って数値と比較しています。しかしテキスト入力フォームに入力されるのは文字列**なので、文字列と数値は比較の計算ができず、検証でエラーが出ます。

IF([テキスト入力項目] > 3, 1, 0)
文字列と数値を比較演算している例(誤)画像を表示する

修正後 計算式で使うテキスト入力フォームを数値入力フォームに変更すると、計算できるようになります。

IF([数値入力フォーム] > 3, 1, 0)
文字列と数値を比較演算している例(正)画像を表示する

よくあるケース「数値を誤って文字列として入力している」

計算式に数値を入力する際、ダブルクオーテーション(")で数値を囲うと、文字列として扱われます。計算式の検証では、これが原因のエラーが発生することがあります。

エラーが発生する具体例

以下の計算式の場合、3は数値ですが、ダブルクオーテーションで囲うことによって文字列として扱われているため、エラーが発生します。

IF([数値入力フォーム] > "3" , 1 , 0)
数値を文字列として入力している例(誤)画像を表示する

修正後

IF([数値入力] > 3 , 1 , 0)
数値を文字列として入力している例(正)画像を表示する

入力した計算式は無効です。数値計算のための関数に次の文字列が含まれています:「◯◯」

以下の関数に文字列を引数として渡すことはできません。

  • SUM()
  • AVERAGE()
  • ABS()
  • ROUND()
  • ROUNDUP()
  • ROUNDDONW()

エラーメッセージで指摘されている入力内容が意図せず文字列になっていないか、から確認してください。

エラーが発生する具体例 以下の例では、テキスト入力フォームの内容を、SUM()関数の引数に指定しています。しかしテキスト入力フォームに入力されるのは文字列なので、SUM()関数の引数としては使えず、検証でエラーが出ます。

SUM([テキスト入力フォーム], [数値入力フォーム])
引数に文字列を渡している例(誤)画像を表示する

修正後

SUM([数値入力フォーム], [数値入力フォーム]) 
引数に文字列を渡している例(正)画像を表示する

入力した計算式は無効です。正負の符号(+/-)に次の文字列が直接つながっています:「◯◯」

文字列に対して正負の符号をつけることはできません(例: +"1")。エラーメッセージで指摘されている入力内容が意図せず文字列になっていないか、から確認してください。

エラーが発生する具体例 以下の例では、テキスト入力フォームの内容に正の符号をつけています。しかしテキスト入力フォームに入力されるのは文字列なので、正負の符号をつけると、検証でエラーが出ます。

+[テキスト入力フォーム]
文字列に正負の符号をつけている例(誤)画像を表示する

修正後

+[数値入力フォーム]
文字列に正負の符号をつけている例(正)画像を表示する

必要な入力内容が不足しているのが原因のエラー

計算式に不備があるため、結果を出力できません。

計算するために必要な入力内容が入力されていることを確認してください。

例: [数値入力1] + [数値入力2] のような計算式の場合は、数値入力1と数値入力2の両方に数値が入力されていないと計算は実行されません。

数値が入力されていない例画像を表示する

以下のヘルプページも参照してください。

Q. 未入力のフォームがあっても、計算結果が表示されるように設定できますか?

計算式に関する注意事項

評価シート画面で、[更新]を押しても計算結果が --- と表示される、もしくは最新の計算結果が表示されない場合

[更新]を押しても計算結果が---と表示されるのは、計算が一度も実行されていないことが原因です。

また、[更新]を押しても最新の計算結果が表示されず、直前の計算結果が表示されるのは計算が再度実行されていないことが原因です。

計算が実行されないケースは以下のようなものがあります。

  • 参照している評価項目が未入力の場合
    • +-/*を使った計算式、IF関数やOR関数、AND関数などは参照している評価項目が1つでも未入力の場合は実行されません。
    • 必要な入力内容が入力されていることを確認してください
  • 参照している評価項目でエラーが発生している場合
    • 評価シートでどこか1か所でもエラーが発生している場合、評価シート上のすべての計算式が実行されません。
      • 例えば、計算結果項目の「数値の制限」でエラーが発生している場合、評価シート上のすべての計算式が実行されません。

フォームと入力内容の種類の対応表

フォームの種類入力内容の種類注意事項
数値入力数値
テキスト入力文字列数値を入れたとしても文字列として扱われます。
固定テキスト文字列数値を入れたとしても文字列として扱われます。
選択肢入力数値・文字列「選択肢の項目に数値を設定」されている場合は数値、そうでない場合は文字列として扱われます。
計算結果数値・文字列計算結果が文字列の場合は文字列。計算結果が数値の場合は数値。「数値の文字列への変換」を設定してあっても、計算上使用されるのは数値です。
このページは役に立ちましたか?