9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CData SoftwareAdvent Calendar 2023

Day 4

Excel を使い倒せ!ひとつのSheet でSansan とSalesforce のデータを照合する方法

Last updated at Posted at 2023-12-03

KV-min.png

紙の名刺を受け取ったとき、その名刺の人物が会社の顧客情報に登録されているかどうかを皆さんの会社はどのように確認していますか?

さまざまな確認方法があるかと思いますが、わたしは考えました。どうにかExcel のみでできないものか、と。

結果、Sansan とCData Excel Add-In のCData Excel 関数を活用することで名刺情報と顧客情報(本記事ではSalesforce のLead、およびContact 情報)を簡単に照合することができたので、その手順をシェアしたいと思います!

目次

ステップ1.紙の名刺をSansan アプリでデジタルデータ化する
ステップ2.Excel のSheet にSansan の名刺情報(Bizcards)を取得する
ステップ3.ステップ2で取得した名刺情報のEmail アドレスとSalesforce の顧客情報と照合する
注意点
まとめとおまけ
おまけのステップ.未登録の名刺情報をSalesforce のLead へ登録する

ステップ1.紙の名刺をSansanアプリでデジタルデータ化する

紙の名刺のままだと当然Excel では扱えなので、デジタルデータ化する必要があります。

今回は、Sansan のスマートフォンアプリで名刺をスキャンし、デジタルデータ化しました。

ステップ2.Excel のSheet にSansan の名刺情報(Bizcards)を取得する

続いて下記の手順でSansan に取り込んだ名刺情報をExcel で取得します。

1.Excel Add-In for Sansanをダウンロード&インストールします。

1-min.PNG

2.Excel を開きタブ[CData]>[データの取得]>[取得元:Sansan]をクリックします。

2-min.PNG

3.サブウィンドウ[CData 接続エディタ]が開きますので、API Key にSansan から取得したAPI Key を入力します。
※Sansan からのAPI Key の取得方法は、Sansan Web サイトの情報を参照ください。

3-min.PNG

※[Range]を[me]にすると自分の所有する名刺情報を、[all]にすると自分から参照できる範囲のすべての名刺情報を取得することができます。

4.[接続テスト]をクリックしSansan と接続できることを確認したら、各[OK]をクリックします。

4-min.PNG

5.サブウィンドウ[クエリを編集]が開きますので、[選択]をクリック、表示されたテーブルの一覧から[Bizcards]をクリックし、[OK]をクリックします。

5-min.PNG

6.テーブル[Bizcards]のカラムが表示されるので、取引情報との照合に必要なカラムのみにチェックを入れ、最大行数のチェックは外し、[OK]をクリックします。

6-min.PNG

なお、本手順では(Salesforce (のLead)へ新規登録する際に必須項目である)カラム[LastName][FirstName][Email][CompanyName]の3つのみチェックを入れました。

※今回新たにSansan に取り込んだ名刺情報のみを取得したい場合は、フィルタと値を使用して[RegisteredTime]に取り込んだ日を指定ください。
(例)
26-min.png

7.テーブル[Bizcards]のデータ=ステップ1でSansan に取り込んだ名刺情報がExcel のSheet に取得されます。

7-min.PNG

ステップ3.ステップ2で取得した名刺情報のEmail アドレスとSalesforce の顧客情報と照合する

ここから本番です!

ステップ2の手順7で取得した名刺情報が会社の顧客情報、ここではSalesforce のLead、およびContact に登録されているかどうかを確認していきます。手順は以下のとおりです。

8.Excel Add-In for Salesforceをダウンロード&インストールします。

8-min.PNG

※なお、CData Excel Add-InはSalesforce の他にもさまざまなSaaS に対応していますので、ぜひチェックしてみてください!

9.Excel を開きタブ[CData]>[データの取得]>[取得元:Salesforce]をクリックします。

9-min.PNG

10.サブウィンドウ[CData 接続エディタ]が開きますので、下記のとおり接続に必要な情報を入力します。

接続プロパティの項目 入力値
Auth Scheme Basic
User Salesforce にログインする際のユーザー名
Password Salesforce にログインする際のパスワード
Security Token Salesforce から取得したセキュリティートークン

10-min.PNG

※Salesforce のセキュリティトークンの取得方法は下記を参照ください。
 Salesforce でのセキュリティトークン取得方法

※本手順では[Auth Scheme]として[Basic]を使用していますが、他の認証方式も利用可能です。

11.ここで[接続名]をコピー&ペーストでメモ帳などに控えておきます。

11-min.PNG
   
12.[接続テスト]をクリックしSalesforce と接続できることを確認したら、各[OK]をクリックします。

12-min.PNG

13.(Salesforce のデータをSheet に取得する必要はないので)[キャンセル]をクリックし、サブウィンドウを閉じます。

13-min.PNG

Salesforce のLead との照合

14.ステップ2.の手順7のSheet を開き、適当なセルに下記の関数を入力します。するとSalesforce のLead に登録のあるEmail アドレスの行についてはId が表示されます。あわせて列名をわかりやすい名称に変更します。

=CDATAQUERY("SELECT Id FROM Lead WHERE Email = '"&E2&"'","Salesforce.Connection1", , ,"Scalar=True" )

14-min.PNG

※関数「=CDATAQUERY」は、CData Excel Add-In のCData Excel 関数の一種で、各種SQLクエリをExcel 関数のように呼び出すことができる機能になっています。

関数名 概要
CDATAQUERY SELECT、INSERT、UPDATE、DLEETE、もしくはストアドプロシージャを実行します。
CDATAINSERT セルの値を元にINSERT を実行します。
CDATAUPDATE セルの値を元にUPDATE を実行します。
CDATADELETE セルの値を元にDELETE を実行します。

今回利用した関数「=CDATAQUERY」の使い方は下記のとおりです。

=CDATAQUERY((1),(2),(3),(4),(5))

番号 概要
(1) SQL 文
(2) ステップ3.の手順11で控えた[接続名]
(3) クエリのパラメータの名前と値を含むセルの範囲を指定します。範囲の最初の行はヘッダー行で、パラメータ名を指定します。 例えば、範囲A10:B11 にパラメータが含まれる場合、セルA10:B10 にはパラメータ名が含まれ、セルA11:B11 にはパラメータ値が含まれます。
(4) 行単位での結果の出力が開始されるセルを指定する文字列です。デフォルトでは、CDATAQUERY は式が入力されたセルの真下に結果を出力します。
(5) 式の動作を制御する追加オプションを含む文字列。デフォルトの動作では、最初の行にカラムヘッダーが含まれるテーブルでデータを返します。"Header=False" は、ヘッダーなしでデータを返すように設定できます。"Scalar=True" は、データの単一のセルのみを返し、式と同じセルに返すように設定できます。

今回は(3)と(4)は使わず、下記のとおり(1)、(2)、(5)を指定しています。

番号 概要
(1) "SELECT Id FROM Lead WHERE Email = '"&E2&"'" Salesforce のテーブル[Lead]のデータのうち、Excel のセルE2 に入力されているEmail アドレスに一致するデータのLeadId を返す、というSQL 文
(2) "Salesforce.Connection1" ステップ3.の手順11で控えた[接続名]
(3) "Scalar=True" (1)のSQL 文の結果を関数「=CDATAQUERY」を入力したセルに表示させるよう指定

Salesforce のContact との照合

15.14と同様に、適当なセルに下記の関数を入力します。するとSalesforce のContact に登録のあるEmail アドレスの行についてはId が表示されます。あわせて列名をわかりやすい名称に変更します。

=CDATAQUERY("SELECT Id FROM Contact WHERE Email = '"&E2&"'","Salesforce.Connection1", , ,"Scalar=True" )

15-min.PNG

16.14、15でId が表示されなかったものが未登録の名刺情報であることがわかりました。

16-min.PNG

注意点

上記の手順では、ステップ2.の手順7でSansan に取り込んだ名刺情報を取得したSheet に直接関数を入力して、データの照合を行いました。

この場合、[ワークシートのリフレッシュ]をクリックすると、ステップ3.の手順14、15で入力した関数が削除されるので注意してください。

17-min.PNG

関数の削除を避けるためには、ステップ2.の手順7のSheet をコピーして、そのコピーしたSheet にてステップ3.の手順を実施する必要があります。

まとめとおまけ

このようにCData Excel Add-In のCData Excel 関数を活用すると、通常のExcel 関数を使うのと同じ感覚でSansan とSalesforce という全く異なるSaaS 間のデータ照合を行うことができます(SQL 文を少々書く必要がありますが)。

なお、照合後、同じExcel ファイルを使用してSalesforce へ未登録の名刺情報を登録することも可能です。手順は以下です。


おまけのステップ.未登録の名刺情報をSalesforce のLead へ登録する

17.Excel を開きタブ[CData]>[データの取得]>[取得元:Salesforce]に表示される、ステップ3.の手順9~13で作成した接続名をクリックします。

18-min.PNG

18.サブウィンドウ[クエリを編集]が開きますので、[選択]をクリック、表示されたテーブルの一覧から[Lead]を検索しクリック、[OK]をクリックします。

19-min.PNG

19.テーブル[Lead]のカラムが表示されるので、登録が必要なカラムのみにチェックを入れ、最大行数は1にし、[OK]をクリックします。

20-min.PNG

なお、本手順ではカラム[LastName][FirstName][Email][CompanyName]の3つのみチェックを入れ、またSansan から取得したデータのカラムの並びをそろえるため、SQL クエリ欄にて[Email]と[CompanyName]の順番を入れ替えました。

20.テーブル[Lead]のデータがExcel のSheet に取得されます。(最大行数を1にしたので)データは1行だけ表示された状態です。

21-min.PNG

21.20で表示されたデータの下の行に未登録の名刺情報をコピー&ペーストします。

22-min.PNG

22.21でコピー&ペーストした行を範囲選択し、[行の更新]をクリックします。

23-min.PNG

23.「更新してよろしいですか?」というメッセージが表示されるので、[OK]をクリックします。

24-min.PNG

24.Salesfroce へデータが登録されます。

25-min.PNG


他にもCData Excel Add-In はいろいろとできますので、「こんなことしたいんだけど~」などありましたらこちらから問合せください!

9
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?