CData Excel Add-in でセルの値を元に動的にデータを更新する方法:CData Excel Formulas

by 杉本和也 | 2021年08月19日

f:id:sugimomoto:20210813105829p:plain

こんにちは。CData Software Japan リードエンジニアの杉本です。

前回の記事で CData Excel Formulas を用いた動的なデータの取得方法を紹介しました。

www.cdatablog.jp

記事中でも少し触れている通り、この CData Excel Formulas は値の取得だけでなく、値の動的な追加や更新もサポートしています。

cdn.cdata.com

というわけで今回は値の更新方法・CDATAUPDATE の使い方を解説したいと思います。

利用する CData Excel Add-in

利用するCData Excel Add-in は前回と同様に Salesforce です。

もちろん、Salesfroce以外のサービスでもOKです。

www.cdata.com

f:id:sugimomoto:20210813101707p:plain

インストール完了後、予め接続情報を設定しておきます。

f:id:sugimomoto:20210813101721p:plain

CDATAUPDATEの使い方

CDATAUPDATE 関数では、セルの値を元に、動的に Salesfroce上のデータを更新することが可能です。

cdn.cdata.com

今回は例として Salesforce の Accountオブジェクトの「Name」を更新するシートを作成してみます。

https://cdatajbuilds.s3.ap-northeast-1.amazonaws.com/CDataBlog/salesforceupdate.gif

Accountデータの更新には「Id」を条件に指定する必要があります。この「Id」の値を含めた列とN機更新対象である「Name」の列を含めたシートを作成しました。

f:id:sugimomoto:20210813105508p:plain

CDATAUPDATE関数はD列に指定しています。第1引数に更新対象の値が含まれるセルの範囲、第2引数に接続情報、第3引数に列名が含まれるヘッダーのセルの範囲を指定しています。

=CDATAUPDATE(A2:B2,"Account","Salesforce.Connection1",$A$1:$B$1)

あとはD列でそれぞれコピーすれば、それぞれの行の値を更新する処理が構成されて、Name列の説の値を変えるだけで、そのままSalesfroce上の値も更新されるようになります。

f:id:sugimomoto:20210813105514p:plain

ちなみに今回のようなExcel データの場合、以下のように一括で範囲指定することも可能です。

=CDATAUPDATE(A1:B11,"Account","Salesforce.Connection1")

f:id:sugimomoto:20210813105521p:plain

しかしながら、CDATAUPDATE関数の特性上、範囲指定された全データのリクエストがSalesforce側に送られてしまうので、パフォーマンスやAPI Limitの消費が激しくなってしまうので、利用する場合は要注意です。

今回のExcel の例だと、裏側では10回リクエストが飛んでしまいます。行数が多いものであれば、1行ごとにCDATAUPDATE 関数を指定したほうが効率的でしょう。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。