自律型エクセルAIエージェントは残念なエクセルを救うか?~エクセルファイルそのものをAIで動かす~

【AIxRPAで規則性のないエクセルを自動的に直す仕組みを構築してみた】

前回の記事では「RPA×AIの最強コンビを生み出すCopilotコードインタプリター活用のすすめ!

にてAIエージェント作成における強力な武器を紹介しました

今回はエクセルそのものを動かすAIエージェントをPower Automateフローで作成しました

以下のGIF画像はエージェントが、マスタデータをもとに不規則な入力を直しているところです

今回の記事では「自律型エクセルエージェントの可能性」と「技術的な問題の概要」について書いていきたいです

今回の作成した内容

今回作成したのはSharepointのドライブにエクセルファイルをアップロードしたら、客先名を読み取り、マスタを参照して正しい客先名を書き込むPower Automateフローです

以下の画像がアップロードしたエクセルファイルです

客先名が実は事前に決められたものではありません

客先マスタ

ですので、AIxRPAで修正しようというわけです

エクセル作業にAIエージェントを使う意義

前述の内容で「え、リストを使えばいいじゃん?」と思った方も多いと思います

そうはいっても、リストが設定されていないまま放置されているエクセルファイルも結構みてきました

エクセルは自由度が大きいです

多くの方に利用されているのですが、一方で不規則で「データ活用」「自動化」につながらないエクセルも多く存在します

「マクロを使えば?」

と思う人思われた方もいると思いますが、そもそもデータが不規則だと使えないのです

その点、今回のようなAIエージェントでは「データを読み込み」「解釈」「書き込み」を行ってくれます

まだまだ研究中ですが、利用価値が結構あるのではと思います

技術的な問題

まだまだ研究中なので、技術的な難易度の判断はまだ困難なのです

ただAIチャットを活用しながらであればそれなりに作れるとは思います

全体的な流れとしては①エクセルの読み込み(JSON形式にする)、②マスタファイルの読み込み(これもJSON形式にする)、そして③で①②を組み合わせて更に正しいデータに直したJSON形式のデータを作成します

そして最後に④にてMicrosoft GRAPH APIを使用したアクションでエクセルに書き込みます

今回はPower Automateを使用していて、CopilotStudioのエージェントは使用していません

何故かというと、フローとのデータの受け渡しがうまくいかない可能性が高いからです

あとは、日本語との相性の悪さも感じましたので、Power Automateで完結した方が取り急ぎは早いと判断しました

ここからは技術的なポイントだけ紹介したいと思います

AI プロンプト → 作成 → JSON の解析

AI プロンプトの text 出力は、見た目は JSON でも中身はただの文字列です


そのままでは Power Automate は配列として扱えません

そこで必要になるのが、

  • 作成(Compose)
  • JSON の解析(Parse JSON)

の 2 ステップです。

Compose で text を 1 つの値として固定し、
Parse JSON で “文字列 → JSON” に変換する。

この流れを理解していないとForEach が勝手に増えたり、Excel に書き込めなかったり、Graph API が 400 を返したりと、散々な目に遭います

Graph APIの扱い

最終的にはAIプロンプトで作成したJSONデータをGraph APIを使用してエクセルファイルに書き込みます

まだ比較的に新しい技術なのでなじみがあまりない方も多いと思います

そもそもGraph APIとは?

Microsoft 365 のすべてのデータにアクセスするための “公式の入り口(玄関)” です。

Microsoft 365 の世界には、

  • OneDrive
  • SharePoint
  • Excel
  • Outlook
  • Teams
  • Planner
  • To Do
  • Entra ID(ユーザー情報)
    など、たくさんのサービスがあります。

これらをバラバラに扱うのは大変なので、
Microsoft は 「全部まとめて操作できる統一 API」 を作りました。

それが Microsoft Graph API です。

エクセルにデータを書き込む際

今回は「HTTP要求を呼び出します」アクションを使用しました

こちらは要求URLの文法がかなり複雑です

ループ処理でJSONを読み込みながら処理するわけですが、DriveId、DriveItemId、シート名やセル範囲などを組み込む必要があります

またBody部分も間違いやすい点があります

{
  "values": [
    [
      "@{items('それぞれに適用する')?['normalized']}"
    ]
  ]
}

式をクォートで囲まないと、Power Automate は JSON を文字列として扱ってしまい、Graph API がパースできず 400 を返します。

<まとめ>

とにかくまだAIエージェントについては研究です

ただ、業務で主として使われるエクセルソフトに直接AIを活用できるのはメリットが大きいです

またエクセル処理をクラウド上で完結できるのも大きいです

今回は、ファイルアップロードをトリガーにしましたがメールの添付ファイルも自動処理ができます

つまりデスクトップの世界へファイルをダウンロードしなくても処理が完結できるのです

この技術を使いこなすには「JSON」「Graph API」を使用する必要があります

どちらも小難しい技術ですが、読者の皆さんが簡単に使えるようにテンプレートを作成していきたいと思います

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です