数式列を追加する

数式列を使うと、RaySheetでExcelと同じ関数や演算子で計算式を使えます。

Salesforceの数式項目とは異なります。数式列はRaySheet独自の計算機能です。

数式列の仕組み

RaySheetの数式列はSalesforceのサーバー上ではなく、ブラウザ上で計算されます。

数式列に設定された数式はRaySheetが管理するビュー定義情報内に保存され、ユーザがビューを開いたときにブラウザ上で数式が実行されます。ワーク列とは異なり、数式列を追加してもSalesforce上でレコード数分のストレージが増加することはありません。RaySheetの画面上は他のSalesfroceの項目と同様に表示されますが、ブラウザ上での計算結果が表示されているだけのため、Salesforce上のストレージは消費されません。

・ 数式列はブラウザ上での計算結果を表示する機能のため、Salesforceのレポート、標準画面、リストビューなどからは直接参照することができません。計算結果をSalesforceのレポートなどと連携する場合は、数式計算結果を保存する機能を使用してください。
・ 画面に表示されていないレコードは数式の対象にはなりません。

数式列を追加する

  1. 「基本デザイン」をクリックする。「基本デザイン」は次の画像で示す2箇所にあります。
  2. 数式列メニュー横のプラスアイコンをクリックする。
  3. 「数式列を追加」画面が表示されることを確認する。
  4. 簡単な例として、既存の項目にテキストを追加して表示する例を記入する。「ラベル」に「取引先名と敬称」、「数式」に=[取引先名]&" 御中"を記入し、「OK」をクリックする。
  5. 「基本デザイン」画面と一覧に実際の数式列の結果を確認する。

数式列は関連オブジェクトにも追加できます。

拡張された数式エディタ

数式列を追加する画面で「編集」をクリックすると、「拡張された数式エディタ」を使用できます。

「拡張された数式エディタ」では項目名や関数名を参照できます。

項目は「現在の行」または「すべての行」を選択できます。「すべての行」は数式のSUMIF関数やAVGIF関数を使って、グループごとの合計値や平均値を計算をするために使用します。「すべての行」では#[金額]のように項目名の先頭にシャープ記号(#)を使うことですべての行を使用します。詳細は集計列を追加するを参照してください。

数式列と列型

数式列では次の列型を使用できます。既定はテキストです。

  • テキスト
  • チェックボックス
  • 数値
  • 日付
  • 日付時刻
  • リンク
  • イメージ
  • HTMLリンク

ワーク列との違いとして、数式列では「イメージ」を使用できます。

数式列の列型を変更するには、次の手順を実行します。

  1. 表画面上で数式列の見出しを右クリックする。
  2. 表示されるコンテキストメニューから「列の設定・・・」をクリックする。
  3. 「列の設定」画面で「列型」から任意の列型を選択する。
  4. 「OK」をクリックして変更を確定する。

数式列と書式設定

数式列の結果に書式設定を使用できます。たとえば「2017/12/31」という結果を「平成29年12月31日」と表示したり、「10000」を「10,000」と表示できます。

書式設定の方法は、項目列の場合と同じです。次のトピックを参照してください。

数式列からSalesforceの項目を参照する

数式列では、ビューに列として追加されているSalesforceの項目を参照できます。たとえば、「取引先名」項目を参照するには次のように「取引先名」を半角のブラケット(’[‘、’]‘)で囲って数式に記述します。

=SUBSTITUTE([取引先名],"株式会社","㈱")

この数式は「日本株式会社」を「日本㈱」のように省略して表示します。この数式を実行するためには、「取引先名」項目が列としてRaySheetのビューに追加されている必要があります。「取引先名」はSalesforceで定義した項目の表示ラベルです。RaySheetの列のカスタムラベルでは認識されないことに注意してください。

=SUBSTITUTE([!Name],"株式会社","㈱")

API名を使って項目を参照することもできます。この数式は「取引先名」項目をAPI名を使って参照しており、API名で参照するにはブラケット内をエクスクラメーションマーク(’!‘)ではじめます。

数式列から別の数式列を参照する

数式列では、別の数式列の結果を参照できます。これは、Excelのテーブル数式で他の列の数式の結果を参照できるのと同様です。別の数式列を参照するには、その数式列のラベル(列名)を使用します。

数式列からワーク列を参照する

数式列では、ワーク列の結果を参照できます。ワーク列を参照するには、その数式列のラベル(列名)を使用します。

ワーク列は列型が既定で「テキスト」になっています。数値や日付として計算する場合は、ワーク列の列型を変更します。

並び替え(ソート)と絞り込み(フィルター)

数式列の並び替えと絞り込みは、Salesforceのサーバー側ではなくブラウザ側で実行されます。このため、Salesforceの項目を並び替える場合と結果が異なる場合があります。

次の図は、左が項目列のドロップダウン、右が数式列のドロップダウンで、違いを示しています。数式列では、現在のページのレコードだけが並び替えおよび絞り込みされるため、「現在のページのみ」という注記が表示されます。

数式列の並び替えと絞り込みの状態は保存されません。ブラウザでページを再読み込みすると、状態が破棄されます。

クリップボードへのコピー

数式列では、セルを選択してキーボードのCtrl + Cキーを押下すると数式の結果をクリップボードにコピーできます。セルの文字の一部だけを選択してコピーしたい場合は、数式バーからテキストを部分的に選択してキーボードのCtrl + Cキーを押下します。

グループ化

数式列はグループ化できません。代わりに、「自動的にセルを結合」を使用してセルを結合できます。

数式の書式

数式では、Excelと同じようにイコール(’=‘)で始めることも、Salesforceの数式項目と同じように’=‘を省略することもできます。どちらの場合でも数式の結果は同じになります。

数式バー

数式バーには、Excelと異なり、数式列の数式ではなく数式の結果が表示されます。

数式列とエクスポート

Excelエクスポートでは、数式列の数式が出力されます。CSVエクスポートでは、数式の結果が出力されます。

数式列をエクスポートするとき、次の3つの関数に注意してください。

  • DAYS関数とSWITCH関数はExcel 2016で追加されたため、Excel 2010やExcel 2013では「#NAME?」エラーとなります。
  • CASESAFEID関数はSalesforce固有のため、Excelでは動作せず「#NAME?」エラーとなります。

数式計算結果の保存

数式の計算結果は、デフォルトの設定では画面表示のみです。Salesforce側に保存したい場合は、計算結果保存用の項目を指定することで保存できます。

保存先フィールド指定

「列の設定」画面の「一般設定」タブで保存先の項目を指定します。デフォルトでは何も指定されていません。

保存方法

数式結果を保存する方法は3つあります。

(1) 保存ボタン

編集状態のレコードの数式を保存します。

(2)セル選択時のコンテキストメニュー

数式計算結果と保存先項目の値が異なる場合、対象セルにセルコメントが表示されます。その対象セルを右クリックすると「数式を保存するメニュー」が表示されます。「数式を保存するメニュー」は保存先項目だけを保存します。編集状態のレコードであっても保存されるのは指定した保存先の項目だけであることに注意してください。

(3)列選択時のコンテキストメニュー

数式計算結果と保存先項目の値が異なる場合、対象セルにセルコメントが表示されます。その数式列の列ヘッダーを右クリックすると「数式を保存するメニュー」が表示されます。「数式を保存するメニュー」は表示されている1ページ内の全レコードに対して保存先項目だけを保存します。

保存方法 右クリックの場所 保存対象レコード 保存対象列
保存ボタン - 保存対象レコード(編集レコード) 全列
コンテキストメニュー(右クリックによる数式を保存) 選択セル 選択行 選択列
コンテキストメニュー(右クリックによる数式を保存) 表示されている1ページ内の全レコード 選択列

ルックアップ列使用時の注意点

RaySheetの数式列ではルックアップ列はNAME項目にカッコ付きのIDが付与された値になります。例えば、NAME項目が「メシウス株式会社」でIDが「0012800000jKyEcAAK」の場合の取引先のルックアップ列の値は以下のようになります。

  • メシウス株式会社(0012800000jKyEcAAK)

そのため、NAME項目だけを使用したい場合やIDだけを使用したい場合は工夫が必要であり、以下のような数式を使用します。

  • NAME項目だけを使用したい場合 : =LEFT(Account, LEN(Account) - 21)
  • IDだけを使用したい場合 : =MID(Account, LEN(Account) - 18, 18)

Excelエクスポートを使用する場合はさらに工夫が必要です。RaySheetでの値とExcelエクスポート後の値が異なり、IDがなくなります。上記の例の場合では以下のような値になります。

  • RaySeet上での値 : メシウス株式会社(0012800000jKyEcAAK)
  • Excelエクスポート後の値 : メシウス株式会社

RaySheetとExcelエクスポート後のどちらでもNAME項目だけを使用したい場合は、以下のような数式を使用します。

  • =IFERROR(LEFT([Account],LEN([Account])-21),[Account])

数式列の詳細仕様

  • 使用可能な関数と演算子は、関数と演算子の一覧を参照してください。
  • 使用可能な数式の長さは、1つの数式列につき8,912文字です。これはExcelのセルの場合と同じです。実際の文字数の上限は使用する文字の種類や、項目の内部名(API名)の影響を受けます。
  • 数式列の数式は、同じビューの他の列、ワーク列、他の数式列を参照できます。他のビューの列は参照できません。
  • 数式列はSalesforceのセキュリティに基づいて動作するので、Salesforceの項目レベルセキュリティでオブジェクトの項目へのアクセスが禁止されている場合は、数式からその項目にアクセスできません。
  • 数式列は、システム管理者が組織全体で機能を無効化または有効化できます。数式列は既定で有効化されています。参考:RaySheetアプリの設定
  • Excelではユーザが数式をセル上で直接入力できますが、数式列ではビューのデザインで数式を指定し、数式の結果は読み取り専用となります。ユーザはシート上のセルから直接に数式を編集できません。
  • 数式列ではルックアップ列を参照できます。ルックアップ列使用時の注意点を参照
  • 数式ではSalesforceの項目名(列名、表示ラベル)で他の列の値を参照します。RaySheetのカスタムラベルは指定できません。たとえば「取引先名」という項目(列)に「名前」というカスタムラベルを使って列の見出しを変更しているとき、数式で「=[名前]」としても値を参照できません。「=[取引先名]」と記述します。
  • 数式列では、内部的にはSalesforceの項目のAPI名(項目名)を使用しています。このため、Salesforceの設定画面でカスタム項目のラベルを変更しても数式は引き続き動作できますが、カスタム項目のAPI名を変更した場合は数式の再設定が必要になります。項目名を変更するとその項目自体がビューに表示されなくなるため、これは数式列に限った制限ではありません。数式列以外の列も再設定も必要になります。
  • 数式列では、列単位の集計はできません。列単位の集計には、集計行集計列を使用します。
  • 数式列では、並び替え(ソート)や絞り込み(フィルター)がブラウザ側で実行されます。並び替えや絞り込みの状態は保存されません。
  • 数式列が含まれるビューを共有すると、通常の列と同じように数式列を他のユーザに共有できます。共有先のユーザが参照できない列(項目)を数式が参照している場合エラーが発生します。
  • 関数の中には、コロン(:)を利用して複数の列を範囲で指定できるものがあります。
    =SUM([単価]:[金額])
    このような指定をすると、実行時に列をドラッグ&ドロップして移動した場合、列の順番が変わり意図した結果を得られなくなります。そのため、次のようにカンマで列を指定してください。このように指定することで列の順番に依存せずに計算結果を表示することができるようになります。
    =SUM([単価],[数量],[金額]) 
Copyright © 2024 MESCIUS inc. All rights reserved.