Zoho Projectsの数式のカスタム項目

Zoho Projectsの数式のカスタム項目

数式項目は、複数の項目の値を組み合わせて計算やテキスト結合などの処理を行ったり、項目の値に処理を加えて別の値に変換したりする際に使用します(例:複数の数値項目の値の合計を算出する、日付項目の値に指定した日数を加えた日付を表示する)。数式項目では、さまざまな種類の関数を使用して、計算や変換の処理を行うことが可能です。数式の作成においては、入力値(引数)としていずれかの項目を指定します。また、必要な処理を行うための関数を挿入します。また、数式内で使用した項目や関数に応じて、出力値(戻り値)の種類を指定します。また、数式の作成には、数値演算子や論理演算子を使用することができます。 

数式のカスタム項目の作成  

  1. 画面右上の  アイコンをクリックします。
  2. [カスタマイズ]→[レイアウトと項目]の[プロジェクト]をクリックします。
  3. 新しい数式のカスタム項目を追加するレイアウトをクリックします。
  4. 数式の項目を[新しい項目]欄からレイアウト欄(メインパネル)に、ドラッグ&ドロップします。
  5. 項目名を入力します。
  6. 数式で使用する関数を選択します。関数と演算子の詳細は、このページの下部の一覧でご確認ください。
    1. 関数の入力値(引数)には、標準項目、カスタム項目、個別に指定した数値、日付、文字列などを設定できます。
    2. 数式では、加減乗除(+、-、*、/)や比較(>、<、==、!=)のための演算子を使用することができます。
  7. 数式の[戻り値の種類出力値(戻り値)の種類] 数式の内容に応じて指定できます。なお、レイアウトにおいて項目を保存した後は、出力値の種類を変更することはできません。 
  8. 項目の追加や編集を行った後、[レイアウトを保存する]をクリックすると、追加や編集した内容を確定できます。[キャンセル]をクリックすると、項目の変更内容は保存されません。
  9. [レイアウトを保存する]をクリックします。

メモ:
  • 数式のカスタム項目は、10件まで追加できます。 

  • 入力値(引数)として特定のテキスト(文字列)や日付を指定する場合、一重引用符(')で囲んでください。標準項目やカスタム項目の場合は、一重引用符(')で囲む必要はありません。

  • 日付と時刻を指定する場合、形式は「mm-dd-yyyy」にしてください。

出力値(戻り値)の種類  

数式の設定では、出力されるデータの種類を指定します。

  • 一行テキスト:255文字までのテキスト(文字列)を出力します。

  • 複数行のテキスト:4,000文字までのテキスト(文字列)を出力します。

  • 数値:18桁までの正または負の整数を出力します。

  • 小数:18桁までの小数を出力します。

  • 通貨:通貨の値を出力します。 

  • パーセント:18桁までの数値にパーセント記号を付けた形式で値を出力します。

  • 日付:ポータルで設定した稼働時間に基づいて日数を算出して出力します。

    • たとえば、業務時間を1日8時間と設定していたとします。また、ある種類のタスクにおいては、予定工数に加えて必ず予備(バッファ)の時間を8時間確保し、そちらを反映させた形で日数を算出したいとします。この場合、数式では「{予定工数(時間)}+8」と指定します。{予定工数(時間)}の値が40の場合、数式の算出結果は40に8を加えた48となります。このとき、出力値の種類が日数として指定されている場合、48という値が8で割られて日数に変換され、6という値が出力されます。なお、入力値が分単位の場合は、時間に変換された後、日単位に変換されます。 

  • 日時:日付と時刻の値を「mm-dd-yyyy」とおよび「hh:mm」の形式で出力します。現在の日付と時刻を出力したい場合は、「NOW()」関数を使用します。 

  • 数式の出力値の種類は、一度保存すると変更できません。

  • 数式項目の数はカスタム項目の合計に含まれます。数式の出力値の種類に基づいて、該当の種類の項目を作成できる残りの件数が減少します。たとえば、出力値の種類が1行テキストの数式項目を作成した場合、1行テキストの種類の項目を作成できる残りの数が減少します。 


数式の関数と演算子  

テキスト関数  

ARRAYJOIN([値1,値2,...], '区切り文字')  

区切り文字を用いてテキスト([]内に指定した値)を結合します。

:ARRAYJOIN([{従業員番号},{顧客}],'-') 

結合対象の値が、[]内に列挙されています(値を配列として指定します)。この例において、「従業員番号」の値が「Z001」、「顧客」の値が「堂本」の場合、出力値は 「Z001-堂本」になります。 

「従業員番号」「顧客」は、カスタム項目として作成した項目の名前です。これらの項目の値が、出力値を算出する際に参照されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

CONCATENATE(値1,値2, ...)  

複数の値を1つの値に結合します。項目の値ではなく特定のテキストを個別に入力して使用する場合、一重引用符(')で囲んでください。

:CONCATENATE({機能},'-',{対象}) 

この例では、2つのカスタム項目の値の間に「-」という文字を挿入する形で結合し、1つの値として出力しています。他のカスタム項目の値を追加して結合することも可能です。 

「機能」「対象」は、カスタム項目として作成した項目の名前です。これらの項目の値が、出力値を算出する際に参照されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値やテキストなどを含めることも可能です。

LEN(テキスト)  

入力値として指定したテキストの文字数を出力します。

:LEN({デザイン情報}) 

「デザイン情報」というテキスト項目の値の文字数を出力します。なお、空白文字(スペース)も文字数に含まれます。たとえば、「デザイン情報」という項目に、 「新デザインを適用予定」というテキストが入力されている場合、出力値は「10」です。

「デザイン情報」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他のテキストのカスタム項目を含めることも可能です。


比較用の演算子  

値1 > 値2(大なり)  

値1が値2より大きいかどうかを検証します。式の内容が当てはまる場合はtrue(真)、それ以外の場合はfalse(偽)が出力されます。

:{売上} > {経費}

「売上」「経費」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他の数値のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

値1 < 値2(小なり)  

値1が値2より小さいかどうかを検証します。式の内容が当てはまる場合はtrue(真)、それ以外の場合はfalse(偽)が出力されます。

:{完了度} < 80

「完了度」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他の数値のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

値1 >= 値2(以上)  

値1が値2以上であるかどうかを検証します。式の内容が当てはまる場合はtrue(真)、それ以外の場合はfalse(偽)が出力されます。

:{利益} >= 10,000

「利益」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他の数値のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

値1 <= 値2(以下)  

値1が値2以下であるかどうかを検証します。式の内容が当てはまる場合はtrue(真)、それ以外の場合はfalse(偽)が出力されます。

:{時間} <= 15

「時間」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

値1 == 値2(等しい)  

値1と値2が等しいかどうかを検証します。式の内容が当てはまる場合はtrue(真)、それ以外の場合はfalse(偽)が出力されます。

:{手数料} == 15000

「手数料」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

値1 != 値2(等しくない)  

値1と値2が等しくないかどうかを検証します。式の内容が当てはまる場合はtrue(真)、それ以外の場合はfalse(偽)が出力されます。

:割引率} != 10

「割引率」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。


論理関数  

AND(条件1,条件2,...)  

入力値として指定されたすべての条件が真かどうかを検証します。

:AND({コスト見通し}>4500,{予算}>6000)

この数式では、コスト見通しが4500を超えていて、かつ予算も6000を超えているかどうかを識別できます。

OR(条件1,条件2,...)  

入力値として指定された条件が、いずれか1つでも当てはまるかどうかを検証します。

:OR({利益率}>10,{売上}>{経費}) 

この数式では、プロジェクトの状況が適正であるかどうか識別できます。利益率の値が10を超えているか、売上が経費より大きい場合、true(真)が出力されます。それ以外の場合、false(偽)が出力されます。

「利益率」「売上」「経費」は、カスタム項目として作成した項目の名前です。これらの項目の値が、出力値を算出する際に参照されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

IF(条件,値1,値2)  

条件式に当てはまる場合は値1を出力し、それ以外の場合は値2を出力します。

:IF({予定コスト}<{実績コスト},'予算超過','予算内') 

この数式では、予算を超過しているか、予算内に収まっているかを出力できます。「実績コスト」が「予定コスト」より大きい場合は「予算超過」と出力され、それ以外の場合は「予算内」と出力されます。

「予定コスト」「実績コスト」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

また、次のような処理も可能です。

:IF({個数}>10, '15,000円', IF({個数}<=7, '5,000円', '10,000円'))  

この例では、個数が10を超える場合は「15,000円」が出力されます。それ以外の場合は、入れ子になっているIF関数の中身をもとに値が出力され、7個以下の場合は「5,000円」、それ以外の場合は「10,000円」が出力されます。 


数値演算子  

+ (加算)  

個別に指定した数値や項目に保存されている数値を加算します。

:{材料費} + {人件費}

この例では、「総経費」という数式項目を作成します。「材料費」の項目値が20000で「人件費」が30000の場合、50000が出力されます。

「材料費」「人件費」は、カスタム項目として作成した項目の名前です。この項目の値をもとに、出力値が算出されます。なお、他の数値のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

- (減算)  

個別に指定した数値や項目に保存されている数値を減算します。

:{売上} - {経費}

この数式では、利益を算出します。「売上」の値が80000で「経費」の値が50000の場合、30000が出力されます。

「売上」と「経費」は、カスタム項目として作成した項目の名前です。これらの項目の値が、出力値を算出する際に参照されます。なお、他の数値のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

* (かけ算)  

個別に指定した数値や項目に保存されている数値をかけ合わせた値(積算した値)を算出します。

:{1単位あたりのコスト} * {量}

この数式では、総経費を算出します。「1単位あたりのコスト」の値が2000で、「量」の値が80の場合、「総経費」として160000が出力されます。

「1単位あたりのコスト」と「量」は、カスタム項目として作成した項目の名前です。これらの項目の値が、出力値を算出する際に参照されます。なお、他の数値のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

/ (割り算)  

個別に指定した数値や項目に保存されている数値を割った値(除算した値)を算出します。

:{総経費} / {人数}

この数式では、一人あたりの経費を算出します。「総経費」の値が100000で「人数」の値が20の場合、一人あたりのコストとして5000が出力されます。

「総経費」と「人数」は、カスタム項目として作成した項目の名前です。これらの項目の値が、出力値を算出する際に参照されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。


数値の関数  

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

個別に指定した数値や項目に保存されている数値の平均を算出します。

:AVERAGE({費目1},{費目2},{費目3}) 

この数式では、異なる種類の費目の平均値を算出します。たとえば費目1の値が90000、費目2の値2が80000、費目3の値が100000の場合、平均値として90000が算出されます。 

「費目1」「費目2」「費目3」は、カスタム項目として作成した項目の名前です。これらの項目の値が、出力値を算出する際に参照されます。なお、他のカスタム項目の値、数式項目の値、個別に指定した数値などを含めることも可能です。

COUNT(値1,値2,...)  

個別に指定した数値や項目に保存されている数値の件数を算出します。テキストの値の件数は算出されません。 

:COUNT(1,2,3,'','四') 

この数式では、数値の値の数を算出します。テキストや空白文字(スペース)の数は含まれません。数値のカスタム項目の値や個別に指定した数値を含めることは可能です。

INT(値)  

指定した値以下の直近の整数を出力します。

:INT({利益}) 

この数式では、「利益」の値を四捨五入した値を算出します。たとえば 「利益」の項目の値が89.48の場合、89が出力されます。

MAX(値1,値2,...)  

指定した数値の中の最大値を出力します。

:MAX(0.06*{価格},1000) 

たとえば、手数料率が6%で、手数料の最低金額が1,000円だとします。この場合の算出方法としては、価格に6%をかけた金額と1,000円のうち、どちらか大きい方を用います。「価格」の値が20000で手数料率が6%の場合、0.06*20000という式により、算出値は1200です。1000より大きいため、1200が出力されます。この結果、数式の算出結果は1200になります。

MOD(割られる数,割る数)  

値を割った余りを出力します。

:MOD({合計人数},{机1台あたりの人数}) 

この数式では、割り算を行った結果の余りを出力します。「合計人数」の値が50で「机1台あたりの人数」の値が3の場合、50÷3の余りである2が出力されます。たとえば、1台につき3人座れる長机があり、50人参加する場合に、余りの人数である2人については予備の椅子を用意するといった対応のための計算が可能です。

ROUND(値,精度)  

精度に応じて、指定した値に最も近い整数を出力します。

:ROUND({価格} * {割引率}, 2) 

この数式では、割引額を算出します。小数点以下の桁数は、精度で指定した値に応じて決まります。たとえば、「価格」の値が999で「割引率」が7%の場合、割引額として、999×0.07の小数点以下2桁までの値である69.93が出力されます。

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

個別に指定した数値や項目に保存されている数値の合計を算出します。

:SUM({負債},{資本}) 

この数式では、資産の値を算出します。「負債」の値が100000「資本」の値が10000の場合、「資産」の値として110000が出力されます。


日時の関数  

DATETIME_DIFF(日付1,日付2,'単位')  

2つの日付の差分を、指定した単位に応じて出力します(単位名は英語で指定する必要があります)。

:DATETIME_DIFF({作業開始日},TODAY(),'DAYS') 

この数式では、2つの日付の差を算出できます。「作業開始日」が2021年7月15日(07-15-2021)で、今日の日付が2021年7月20日(07-20-2019)だとします。単位に「DAYS」(日)を指定した場合、5日が出力されます。入力値(引数)として特定の日付を指定する場合、一重引用符(')で囲んでください。なお、サポートされている日付の形式は、「mm-dd-yyyy」です。

DAY(日付)  

入力値として指定した日付から日の部分の値を取得し、1から31の数値で出力します。

:DAY({期限}) 

この数式では、指定された日付の日の部分の値を取得できます。たとえば、「期限」の日付が2021年7月15日(07-15-2021)の場合、15が出力されます。入力値(引数)として特定の日付を指定する場合、一重引用符(')で囲んでください。なお、サポートされている日付の形式は、「mm-dd-yyyy」です。

MINUTE(日時)  

入力値として指定した日時から分の部分の値を取得し、0から59の数値で出力します。

:MINUTE({期限}) 

入力値(引数)として特定の日時を指定する場合、一重引用符(')で囲んでください。なお、サポートされている日付の形式は、「mm-dd-yyyy」です。 

MONTH(日付)  

入力値として指定した日付から月の部分の値を取得し、1から12の数値で出力します。

:MONTH({期限}) 

MONTH({期限})なお、サポートされている日付の形式は、「mm-dd-yyyy」です。

NOW()  

現在の日時を出力します。

:NOW()

TODAY()  

今日の日付と時刻(12時間表記)を出力します。

:TODAY()

FROMNOW(日付)  

現在の日付から対象の日付までの日数を算出します。

:FROMNOW({開始日})

現在の日付が2021年7月20日(07-20-2021)で、「開始日」が2021年7月15日(07-15-2021)の場合、5日が出力されます。入力値(引数)として特定の日付を指定する場合、一重引用符(')で囲んでください。なお、サポートされている日付の形式は、「mm-dd-yyyy」です。

WEEKNUM(日付)  

指定した日付の週番号を出力します(番号は、年の初めから数えられます)。

:WEEKNUM({期限})

たとえば、「期限」が2021年7月15日(07-15-2021)の場合、週数として28が出力されます。入力値(引数)として特定の日付を指定する場合、一重引用符(')で囲んでください。なお、サポートされている日付の形式は、「mm-dd-yyyy」です。

YEAR(日付)  

指定した日付の年の部分の値を出力します。

:YEAR({開始日})

たとえば、「開始日」の日付が2021年7月15日(07-15-2021)の場合、2021が出力されます。入力値(引数)として特定の日付を指定する場合、一重引用符(')で囲んでください。なお、サポートされている日付の形式は、「mm-dd-yyyy」です。