ExcelでChatGPTを利用する方法(Power Automate)
Power Automate(クラウドフロー)を利用して、ExcelからChatGPTを利用する方法を紹介します。
この方法はVBA・マクロを利用する方法と違い、Excel Onlineからも利用可能ですが、SharePointかOneDriveにExcelファイルを保存する必要があります。
手順
アドインを導入
アプリケーション(デスクトップ)かOnline(Web)で、ChatGPTを利用する方にアドインを導入する必要があります。両方で利用する場合は、両方にアドインを導入します。どちらも手順は同じです。
まずExcelのメニューの「挿入」より「Officeアドインを入手」を選択します。

「ストア」より「Microsoft Power Automate for Excel」の「追加」を選択します。
(上から4番目ほどにあります)

「続行」を選択します。この部分が終わればアドイン導入は完了です。

作成
Excelブック
「query」と「answer」という名前の列を持つテーブルを作成します。
それには新しいExcelファイルを作成し、「query」と「answer」の値を持つセル選択し、「ホーム」より「テーブルとして書式設定」をクリックします。そして任意の書式を選択します。

「先頭行をテーブルの見出しとして使用する」をチェックして「OK」ボタンをクリックします。

セル範囲の書式が変わり、その範囲のセルを選択した時に「テーブル デザイン」が表示されればテーブル化されています。

このExcelファイルをSharePointかOneDriveに保存します。
Power Automate クラウドフロー
ブラウザでPower Automateの管理画面に移動するか、「データ」、「Flow」、「Microsoft Power Automate」をクリックします。

「マイ フロー」、「新しいフロー」、「インスタント クラウド フロー」をクリックします。

「選択した行」をクリックしてから、「作成」ボタンをクリックします。

「選択した行」の中に先ほど保存したExcelファイルの情報を入力します。テーブル名は変更していなければ「テーブル1」になっています。
Excelファイルの情報を入力したら、「入力の追加」をクリックします。

「テキスト」をクリックします。

左側の欄を「問い合わせ」に変更します。

ChatGPTのAPIキー(シークレットキー)を取得します。
そして、新しいステップを追加し、「組み込み」、「変数」の中にある「変数を初期化する」アクションを設置します。


名前に「APY_KEY」、種類に「文字列」、「値」にAPIキーを指定します。

新しいステップを追加し、「組み込み」、「HTTP」の中にある「HTTP」アクションを設置します。


次のように設定します。
項目 | 値 |
---|---|
方法 | POST |
URL | https://api.openai.com/v1/completions |
ヘッダー 1行目 左 | Content-Type |
ヘッダー 1行目 右 | application/json |
ヘッダー 2行目 左 | Authorization |
ヘッダー 2行目 右 | Bearer @{variables('APY_KEY')} |
本文 | { "model": "text-davinci-003", "prompt": @{triggerBody()['text']}, "max_tokens": 2024, "temperature": 0, "top_p": 1 } |
新しいステップを追加し、「標準」、「Excel Online」の中にある「表に行を追加」アクションを設置します。


次のように設定します。
項目 | 値 |
---|---|
場所/ドキュメント ライブラリ/ファイル/テーブル | 「選択した行」トリガーと同じ |
query | @{triggerBody()['text']} |
answer | 下の式を指定します。 trim(body('HTTP')?['choices'][0]?['text']) ![]() |

フローの設定が完了したら保存します。
そして左上をクリックしてフロー名を変更しておきましょう。このフロー名はExcelに表示されます。

利用
Excelブックを開いて、テーブルのセル範囲の何れかを選択し、「データ」の「Flow」をクリックします。

フロー名の実行ボタンをクリックします。この実行ボタンはテーブルのセル範囲を選択していないとクリックできません。

「問い合わせ」欄が表示されるので、ChatGPTへのメッセージを入力して「フローの実行」ボタンをクリックします。

ChatGPTへの問い合わせが始まります。「フロー実行ページ」をクリックすると状況を確認できます。


ChatGPTからの回答があるとテーブルに問い合わせと回答を持つ行が追加されます。

この問い合わせと回答は消さない限り、下に行追加されていきます。
