入力規則でVLOOKUPを使って、カスタムオブジェクトのレコード名の重複を防ぐ

入力規則でVLOOKUPを使って、カスタムオブジェクトのレコード名の重複を防ぐ

VLOOKUPをSalesforceでどう使うのか、なかなかイメージできませんよね。とりあえず、こちらの数式を試してみてください。項目の値と照合して、重複を防げます。
入力規則でVLOOKUPを使って、カスタムオブジェクトのレコード名の重複を防ぐ
5
入力規則でVLOOKUPを使って、カスタムオブジェクトのレコード名の重複を防ぐ
Admin
2020/10/12 11:56:18
※こちらは過去に公開していたブログからの移行記事です。

Excelではお馴染みの VLOOKUP関数ですが、Salesforceでは入力規則でのみ、かつカスタムオブジェクトの値を検索するときにしか使用できません。

VLOOKUP
説明:  Excel の VLOOKUP() 関数と同様に、カスタムオブジェクトに関連する値を検索し、その値を返します。
使用方法:  VLOOKUP(field_to_return, field_on_lookup_object, lookup_value)。field_to_return には返す値が含まれている項目を、field_on_lookup_object には一致させる値が含まれている関連オブジェクト上の項目を、また lookup_value には一致させる値を指定します。

ヒント:    
・field_to_return のデータ型は、自動採番、積み上げ集計、参照関係、主従関係、チェックボックス、日付、日付/時間、メール、数値、パーセント、電話番号、テキスト、テキストエリア、または URL にする必要があります。
・field_on_lookup_object は、カスタムオブジェクトの [レコード名] 項目にする必要があります。
・field_on_lookup_object と lookup_value は、同じデータ型にする必要があります。
・一致するレコードが複数ある場合は、最初のレコードの値が返されます。
・返される値は、カスタムオブジェクトのものであることが必要です。
・この関数で参照されるカスタム項目またはカスタムオブジェクトは削除できません。
・この関数は、入力規則でのみ使用できます。

◇ Salesforce >ヘルプ > 数式の演算子と関数 I – Z >VLOOKUP

今回はその数少ない VLOOKUP関数の使用例についてです。

やりたいこと

・カスタムオブジェクトのレコードの名前(Name)を重複しないようにしたい。
・レコード名はテキスト項目で、手動で入力することになっている。


対処法

該当のカスタムオブジェクトで、以下のような入力規則を作成。

AND(
VLOOKUP( $ObjectType.オブジェクトAPI.Fields.Name ,
$ObjectType.オブジェクトAPI.Fields.Name , Name ) = Name,
OR(ISNEW(), ISCHANGED(Name))
)


※$ObjectType.オブジェクトAPI.Fields.Name の部分は、「項目の挿入」をクリックして、一番初めに「 $ObjectType」を選択し、該当のカスタムオブジェクト、レコード名と選択していきます。


重複管理とどっちがいい?

重複管理では、どの項目を比較して一致とするのかや、一致レコードがあったときのアクション(アラートを出すのか、レコードを作成させないのか)を選択できます。
シンプルに「カスタムオブジェクトでレコード名の重複は作らせない」ということであれば、入力規則のほうが気軽でいいかもしれませんね。
gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
5
コメント