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

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 関数を指定したほうが効率的でしょう。

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

関連コンテンツ