shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel】Copilotの直接編集でPower Pivotが編集できない理由とOffice.jsの仕様

前回は、【Excel】Copilotが「相談相手」から「実務担当」へ! ドキュメントを直接編集できるエージェントモード を紹介しました。

しかし、実際に使ってみると「AIに断られてしまった」「指示通りに動いてくれない」という場面に遭遇することがあります。

ExcelのCopilotが「できること」と「できないこと」の理解において、JavaScript API(Office.js)の仕様が影響しているので、その紹介です。

内容:

なお、確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2604)です。

1.実験:Copilotに「高度なピボットテーブル」を依頼した結果

当ブログ(shikumika.org)では以前、ピボットテーブルの限界を超えるテクニックとして、Power Pivot(データモデル) を活用して「値フィールドに文字列をそのまま表示する方法」を紹介しました。
参考情報: Excelピボットテーブルの値フィールドに、文字列をそのまま表示する方法 - shikumika’s diary 

この記事にある高度な設定を、最新のCopilotなら自動でやってくれるのではないか?と考え、URLを提示して以下の指示を出してみました。

次のWEBページにある情報を参考に、Excelピボットテーブルを作成して、文字列をそのまま表示してください。

https://shikumika.org/entry/2022/06/05/183635

その結果、Copilotから返ってきた回答がこちらです。

制限事項
Office.js(Excel JavaScript API)では以下の操作がサポートされていません:
❌ Power Pivot データモデルの作成・編集
❌ DAX メジャーの追加
❌ Power Pivot ベースのピボットテーブル作成

現時点(確認したバージョン)では「サポートされていません」とのことです。

なお、データチェックはできていませんが「Power Pivotを使わず、通常の編集機能で直接出力する」は可能でした。

2. Copilotの「手」である「Office.js」の仕組み

ExcelのCopilot(エージェント機能)は、魔法のようにシートを書き換えているのではなく、内部的には 「Office.js(Excel JavaScript API)」 という命令セットを呼び出して操作を行っているようです。

エージェントモードはJavaScriptランタイム内のExcel APIを通じてワークブックを直接変更します。

参考: Building Agent Mode in Excel | Microsoft Community Hub

 

なお、ExcelのAPI リファレンスは次のとおりなので、この範囲で直接編集が可能といえます。 

learn.microsoft.com

例えば、

  • 見た目の調整: セルの色、罫線、フォント、セル結合
  • 通常の表操作: データの並べ替え、フィルタ、テーブル化
  • 数式作成: VLOOKUP や IFS など、通常のワークシート関数の作成

などはできますが、Power Pivotそのものを操作することはできない仕様でした。

 

以上、ExcelのCopilotの直接編集でPower Pivotが編集できない理由とOffice.jsの仕様でした