CData Excel Add-In と CData Excel Formulas でセル値に基づいて動的にデータを取得する方法



ビジネスデータを扱う際、Excel 内から直接外部の情報を取得・更新できると非常に便利です。CData Excel Add-In はこれを可能にするだけでなく、隠れた便利機能 CData Excel Formulas も提供しています。この機能を使うと、Excel 関数のようにライブ SQL クエリを実行できます。

この記事では、CData Excel Add-In の CData Excel Formulas 機能を使って、Excel 内で直接ライブデータを動的に取得、更新、管理する方法をご紹介します。

CData Excel Formulas とは

CData Excel Formulas を使うと、Excel の組み込み関数と同じように、CData ドライバーがサポートする SQL クエリを Excel 内で実行できます。データ取得 (SELECT) だけでなく、レコードの変更 (INSERT、UPDATE、DELETE) やストアドプロシージャの呼び出しも、スプレッドシートを離れることなく実行できます。

関数 説明
CDATAQUERY SELECT / INSERT / UPDATE / DELETE またはストアドプロシージャの呼び出しを実行
CDATAINSERT セル値に基づいてレコードを挿入
CDATAUPDATE セル値に基づいてレコードを更新
CDATADELETE セル値に基づいてレコードを削除

この関数の重要なポイントは、Excel のネイティブ関数として動作するため、参照しているセルの値が変更されると即座に処理が実行されることです。これにより、Salesforce、Kintone、Google BigQuery などのクラウドサービスやデータベースから、セル値に基づいてデータを動的に取得・更新する Excel シートを簡単に構築できます。

CData Excel Add-In を使用する

この例では、CData Excel Add-In for Salesforce を使用します。このアドインを使うと、使い慣れた SQL 構文で Excel から直接 Salesforce データをクエリでき、データ分析やレポート作成に最適です。

インストールが完了したら、Excel を開いて CData タブ に移動し、Salesforce 接続を設定します。Salesforce の認証情報、セキュリティトークン接続名 などの認証の詳細を指定する必要があります。設定が完了すると、アドインが Excel と Salesforce 間のセキュアな接続を確立し、リアルタイムでデータにアクセスできるようになります。

CDATAQUERY の使い方

動的データシートの作成

この機能の動作を確認するために、簡単な例を作成してみましょう。セルに入力したキーワードに基づいて、Salesforce の Account 情報を動的に取得するケースを想定します。

  1. セル A2 に Account 名 の一部となるキーワードを入力します(これが検索入力として機能します)
  2. 別のセル(例:A6)に次の数式を入力します:
  3. =CDATAQUERY("SELECT Id, Name FROM Account WHERE Name LIKE '%" & A2 & "%'", "Salesforce.Connection1")

この例では:

  • 最初の引数は SQL クエリ文字列 です
  • 2 番目の引数は設定した 接続名(例:'Salesforce.Connection1')を指定します
  • A2 セルは クエリに動的に埋め込まれ、A2 の値が変更されると数式が自動的に再実行され、新しい結果が表示されます

クエリ結果は数式の下のセルにスピルし、一致する Salesforce Account がリアルタイムで表示されます。セル A2 のキーワードを変更するだけで、結果は即座に更新されます。手動での更新は不要です。

パラメータと出力場所の使用

CData Excel Formulas は、より柔軟に使用できるよう パラメータ結果の出力場所 もサポートしています。例えば、パラメータを使用してよりすっきりしたクエリを記述できます:

=CDATAQUERY("SELECT Id, Name FROM Account WHERE Name = @Name", "Salesforce.Connection1", A1:A2)

ここで、A1:A2 にはパラメータ名(@Name)とその対応する値が含まれています。この方法により、手動での文字列連結を避け、数式のメンテナンスが容易になります。

ResultLocation 引数を使用して、出力結果の表示場所を指定することもできます:

=CDATAQUERY("SELECT Id, Name FROM Account WHERE Name = @Name", "Salesforce.Connection1", A1:A2, "A8")

この場合、データはセル A8 から返されます。この柔軟性により、入力領域と出力領域を分離した、整理された構造のレポートを設計できます。

まとめ

CData Excel Formulas を使用すると、さまざまなクラウドサービスからデータを自動的に取得・更新する、柔軟で動的な Excel シートを作成できます。この機能により、ライブビジネスデータと同期し続けるレポートや分析ツールの構築プロセスが簡素化されます。この例では Salesforce を使用しましたが、同じアプローチは Kintone や Backlog などの他の CData Excel Add-In でもシームレスに動作するため、Excel での生産性と効率を向上させたい方には必須のツールです。

CData Excel Add-In を無料でお試しいただき、Excel から直接ライブデータに接続、クエリ、管理がいかに簡単にできるかを体験してください。