【評価テンプレート】計算式の書き方
計算式セルに書ける演算子・関数・セル参照と、計算できないときの表示をまとめたリファレンスです。
計算式を書けるのは管理者だけです。評価テンプレートの作成画面または編集画面で、セルタイプを「計算式」にしたセルの[計算式を編集]から入力します。画面の操作手順は計算式を設定するを参照してください。
3つの決まりごと
どの式にも共通する決まりです。
- 先頭に
=は書きません。 表計算ソフトと違い、いきなり式から書き始めます - 式にはセルの参照が最低1つ必要です。
1 + 2のように参照を含まない式は構文エラーになります。決まった値を表示したいだけであれば、セルタイプを「固定テキスト」にしてください - 計算式は5000文字以内です。 超えると「計算式は5000文字以内で入力してください」と表示されます
セルを参照する
参照の書き方は、参照先がどこにあるかで変わります。
{列名}.{行}
{評点}.{1行目}
{テーブル名}.{列名}.{行}
{業績目標}.{加重点}.{1行目}
{セクション名}.{テーブル名}.{列名}.{行}
{業績評価}.{業績評価点}.{業績評価点}.{1行目}
行の指定には次の決まりがあります。
- 行は
{1行目}のように、1から数えた番号で指定します。見出しの行を指す{0行目}はありません {ウエイト}のように行を省いた書き方はできません。参照するときは必ず行まで指定します- 列名に「〜行目」という文字は使えません。参照の書き方と紛れてしまうためです
四則演算
+(足す)-(引く)*(掛ける)/(割る)の4つと、かっこ ( ) が使えます。マイナスの符号も書けます。
{ウエイト}.{1行目} * {評点}.{1行目} / 100
使える関数の一覧
使える関数は次の6つです。書き方と使い分けは、この表のあとの節で1つずつ説明します。
IF
IF(条件, 満たすときの値, 満たさないときの値)
AND
AND(条件1, 条件2, ...)
IF の条件に使う
OR
OR(条件1, 条件2, ...)
IF の条件に使う
ROUND
ROUND(値, 桁数)
ROUNDUP
ROUNDUP(値, 桁数)
ROUNDDOWN
ROUNDDOWN(値, 桁数)
合計や平均を出す関数(SUM・AVERAGE)はありません。合計は + でつなぎ、平均は合計を件数で割って求めます。書き方は「合計と平均の書き方」で説明します。
条件によって結果を変える(IF)
IF を使うと、条件を満たすかどうかで表示する値を変えられます。
IF(条件, 条件を満たすときの値, 満たさないときの値)
たとえば、評点が5のときだけ1を、それ以外は0を表示する式は次のようになります。
IF({評点}.{1行目} = 5, 1, 0)
条件に使える比較の書き方は6つです。
=
!=
>
<
>=
<=
「等しい」は = を1つだけ書きます。== は使えません。
IF は入れ子にできます。次の式は、評点が4以上なら3、2以上なら2、それ以外は1を表示します。
IF({評点}.{1行目} >= 4, 3, IF({評点}.{1行目} >= 2, 2, 1))
複数の条件を組み合わせる(AND・OR)
AND はすべての条件を満たすとき、OR はどれか1つでも満たすときに成立します。どちらも IF の条件の位置に書きます。
AND(条件1, 条件2, ...)
OR(条件1, 条件2, ...)
次の式は、評点が3以上で、かつウエイトが10以上のときだけ1を表示します。
IF(AND({評点}.{1行目} >= 3, {ウエイト}.{1行目} >= 10), 1, 0)
「1より大きく5より小さい」のように範囲を判定したいときも AND を使います。1 < {評点}.{1行目} < 5 のように比較をつなげて書くことはできません。
結果に文字を表示する
数値ではなく文字を表示したい場合は、"合格" のようにダブルクォートで囲みます。
IF({評点}.{1行目} >= 3, "合格", "不合格")
小数を丸める(ROUND・ROUNDUP・ROUNDDOWN)
割り算を含む式は小数が細かくなりがちです。次の3つで丸められます。
ROUND(値, 桁数)
ROUNDUP(値, 桁数)
ROUNDDOWN(値, 桁数)
桁数には、小数点以下を何桁残すかを指定します。桁数は省略でき、省略すると整数になります。
ROUND({ウエイト}.{1行目} * {評点}.{1行目} / 100, 1)
合計と平均の書き方
合計は + でつなぎます。平均は、合計をかっこでくくって件数で割ります。
{評点}.{1行目} + {評点}.{2行目} + {評点}.{3行目}
({評点}.{1行目} + {評点}.{2行目} + {評点}.{3行目}) / 3
行数が多いと式は長くなりますが、5000文字までであれば問題ありません。
未入力の欄は0として計算されます
参照先が未入力でも、計算結果は表示されます。 空欄は0として扱われるため、誰も記入していない段階のシートでも計算結果の欄には数字が入っています。たとえば {ウェイト}.{1行目} * {評点}.{1行目} は、どちらも空欄のうちは0と表示されます。
記入者には途中経過の数字として見えます。合計が0のうちは未記入だと分かるので実害は出にくいものの、IF でランクを判定する式では注意が必要です。合計0が最低ランクの条件に当てはまり、記入前から「C」のようなランクが表示されるためです。記入前と記入後を見分けさせたい場合は、判定の式の先頭に「合計が0のときの表示」を足してください。
IF({総合}.{加重合計}.{1行目}=0,"未記入",IF({総合}.{加重合計}.{1行目}>=45,"S","A"))
計算できないときの表示
計算そのものが成り立たないときは、評価シートに次の記号が表示されます。マウスを乗せると説明が表示されます。
#REF!
#DIV/0!
#VALUE!
#N/A
#ERROR
いずれも記入では解消できません。テンプレート側の設定を見直してください。#DIV/0! は割る数が0になる式、#REF! は削除された行や存在しない行を指している式が原因です。
循環参照があると保存できない
自分自身を参照している式や、AがBを参照しBがAを参照するように参照が巡っている式は、循環参照として検出されます。「自セルを参照しています(循環参照)」というメッセージか、巡っている列の一覧が表示されます。
循環参照があると評価テンプレートを保存できません。 保存しようとすると「計算式に循環参照があります」と表示されます。表示された列をたどり、どこかの参照を外してください。