支払い単価の数式の段階的説明
従業員モデルシートで使用される支払い単価計算の方法について説明します。初期数式では、従業員は特定の昇給月においてか、または各人の毎年の定例日に、年次昇給を受領することが前提条件になっています。この数式の代替数式についても、このトピックで取り上げます。
この例では、支払い単価数式は、前提条件の昇給月および昇給率(パーセント)1に入力された値を参照します。
支払い単価の計算について理解しておくべき事項:
- [支払い単価] 列は、月次差額別に計画された初期残高(累積)要素です。つまり、計画サイドから入力されたデータは、その後、バージョン内のすべての期間に繰り越されるということです。この要素に対して行う計算は、科目内の前月の残高に追加されます。’
- Adaptive InsightsのIFステートメントは、次のように、Excelのものとは異なります。
- Adaptive Insights例:
if(ACCT.A6=1 and ACCT.B6=0,X,0)
- Excelの例:
if(and(A6=1, B6=0),X,0)
- Adaptive Insights例:
- 支払い単価の計算には3つの基本期間参照があります。各参照は、バージョン内の各月に番号を割り当てます。バージョン内の割り当て済みの月番号に照らして日付列を比較するのに、この参照を使用できます。
- 月: 各月には、カレンダー年に従って番号(1~12)が割り当てられます。これは、バージョン全体を通して繰り返されます。
- Fiscalmonth: 各月には、会社の会計年度に従って1~12の番号が割り当てられます。これは、バージョン全体を通して繰り返されます。
- Versionmonth: 各月に番号が割り当てられます。バージョンの最初の月は0です。番号は、期間をまたいで続いていきます(反復なしに)。正数は将来の月を示します。負数(-)は過去の月を示します。
支払い単価の計算は次のようになります。
IF((VersionMonth(this) > 0) AND ROW.Headcount>0 AND (((VersionMonth(this) - VersionMonth(ROW.StartDate) > 1) AND ASSUM.RaiseMonth = 0 AND FiscalMonth(this) = FiscalMonth(ROW.StartDate)) OR (ASSUM.RaiseMonth = Month(this))), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
次の表は、計算内の各ステートメントの詳しい分類を示しています。
ステートメント | 説明 |
---|---|
VersionMonth(this)>0 |
このステートメントは、バージョン全体の中の特定の期間において割り当てられた月番号が、実際にバージョンの最初の月の後であるかどうかをチェックします。 これにより、バージョンの初月に昇給を許可できなくなります。初月の従業員の給与が開始給与として入力されていると仮定されています。 |
ROW.Headcount>0 |
従業員が昇給を提供されるために雇用されていることを検証します。Headcount は、従業員の開始日および終了日の列に基づいています。 これは、結果が0 または1 になるバイナリトリガーであり、従業員が各期間中に雇用中であった(または、なかった)ことを示します。 |
VersionMonth(this)-VersionMonth(ROW.StartDate)>1 |
数式を適用される各月をチェックします。従業員の雇用開始後まで、給与の増額が適用されないようにします。 各期間に割り当てられたVersionMonth は、従業員の開始日に割り当てられた固有のVersionMonth に照らしてチェックされます。差が1より大きい(従業員の雇用開始の後で期間が発生した)場合、 従業員は昇給を得ることができます。ただし、他のすべてのand ステートメントが満足された場合に限ります。 |
ASSUM.RaiseMonth = 0 |
各月をチェックして、RaiseMonth 前提条件が0 であることを確認します。定期昇給の場合、昇給月はゼロでなければなりません。 |
FiscalMonth(this)=FiscalMonth(ROW.StartDate) |
各 FiscalMonth をチェックし、従業員の雇用開始日の割り当て済みFiscalMonth と比較します。たとえば、従業員の雇用開始日が8/12/2016 であり、組織の会計年度がカレンダー年度と同じである場合、FiscalMonth(ROW.StartDate) に割り当てられる月は8となります。毎年1月には、FiscalMonth(this) は1 を戻します。2月には2 を戻し、以後同じように続きます。これがtrueなのは、FiscalMonth が、従業員の雇用開始日のFiscalMonth と同じ場合のみです。この方法で、前年度と比べて、毎年定例の日付で何かを計算することができます。 |
ASSUM.RaiseMonth = Month(this) |
|
ROW.PayRate[time=THIS-1]*ASSUM.RaisePct |
True句を定義します。前のステートメントがtrueの場合(すべての
|
0 |
False句を定義します。 IF 条件のうちの1つ(以上)が満足されない場合、昇給は0 となり、何も残高に加算されません。 |
この数式は、文章として読むと、次ようになります。
"今がこの予算バージョン内の月であって、従業員は雇用状態にあり、期間はその従業員の雇用開始日より後である場合に、前提条件にゼロの値があり、現在の月は従業員の雇用開始日と同じであるか、または前提条件の現在の月内の値に現在の月が一致すれば、昇給が行われます。それ以外の場合、昇給は行われません。"
代替昇給オプション
通常、組織は、昇給月または 毎年の定例日の昇給は行いません。たいていの組織は、この昇給計算のもっとシンプルなバージョンを使用します。
オプション1: 昇給月での昇給を適用します。数式は次のようになります。
if(VersionMonth(this)>0 and ROW.Headcount>0 and VersionMonth(this)-VersionMonth(ROW.StartDate)>1 and ASSUM.RaiseMonth=fiscalmonth(this), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0
この計算に加える変更は次のとおりです。
ステートメント | 説明 |
---|---|
ROW.Headcount>0 |
前と同様に、Headcount は、1 に等しいのではなく、ゼロより大でなければなりません。それにより、特定の行内の人数が1人より少ない場合がある分割従業員のすべての行に対して計算が可能になります。 |
ASSUM.RaiseMonth=FiscalMonth(this) |
RaiseMonth が、会社の会計月と比較されます。それにより、前提条件を満たす従業員が、強制的なカレンダー年度ではなく会社の会計年度に基づいて考えることができます。’ |
|
毎年の定例日に対するor ステートメントがありません。昇給は、昇給月にのみ適用されます。 |
オプション2: 毎年の定例日の昇給が適用されます。 数式は次のようになります。
if(VersionMonth(this)> 0 AND ROW.Headcount>0 AND VersionMonth(this)-VersionMonth(ROW.StartDate)> 1 AND FiscalMonth(this)=FiscalMonth(ROW.StartDate), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
追加の支払い単価オプションについては、数式の例 - 従業員、支払い単価の計算を参照してください。