OpenAIのAPIとGoogleスプレッドシートを連携させれば、スプレッドシート上でChatGPTの機能を利用できます。
しかし、実際にどのように連携させれば良いのか疑問に思う方もいるでしょう。正しい連携手順を知らなければ、予期せぬエラーやトラブルにつながる恐れもあります。
本記事では、ChatGPTとスプレッドシートを連携させる手順や活用方法、よくあるトラブルと対処法について詳しく解説します。
本記事を読めばAIを使って大幅に生産性を向上できるようになるため、ぜひ最後まで読んで参考にしてください。
ChatGPTの特徴や活用事例については以下の記事で詳しく解説しています。
|監修者
(株)SHIFT AI 代表取締役 / GMO他複数社AI顧問 / 生成AI活用普及協会理事 / Microsoft Copilot+ PCのCMに出演 / 国内最大級AI活用コミュニティ(会員5,000人超)を運営。
『日本をAI先進国に』実現の為に活動中。Xアカウントのフォロワー数は9万人超え(2024年9月現在)
SHIFT AIでは、生成AIを使いこなせるようになりたい方に向けて、無料の資料を配布しています。そちらも合わせてご覧ください。
\ 無料でダウンロード! /
ChatGPTとスプレッドシートは連携できる!
ChatGPTを提供するOpenAIのAPIを利用すれば、GoogleスプレッドシートにChatGPTの機能を組み込めます。これにより、スプレッドシート上でChatGPTと同様の自然言語処理を行えます。
たとえば、ユーザーがスプレッドシートのセルに自然言語で質問や指示を入力すると、ChatGPTが理解し、適切な応答や処理が効率的に行えます。
さらに、OpenAIのAPIには無料枠が用意されているため、一定の利用量までは無料でChatGPTとスプレッドシートを連携できます。
個人や小規模なチームでも、低コストでChatGPTの機能を業務に活用できるのがメリットです。
ChatGPTとスプレッドシートの連携手順
ChatGPTとスプレッドシートは、以下の手順で連携できます。
- OpenAIアカウントの作成
- GoogleAppScriptの設定
- APIキーの設定
- 動作確認
それぞれ詳しく解説します。
1.OpenAIアカウントの作成
ChatGPTとスプレッドシートを連携するには、OpenAIのアカウントを作成する必要があります。まずはOpenAIのサイトにアクセスしてください。
出典:Open AI
サイトを開いたら、以下の手順でアカウントを作りましょう。
- 画面右上の「Sign up」をクリックする。
- メールアドレス、パスワード、氏名を入力し、「Create account」をクリックする。
- 登録したメールアドレスに送られた確認メールのリンクをクリックし、アカウントを有効化する
以上で、OpenAIアカウントの作成は完了です。
2.GoogleAppScriptの設定
つづいて、GoogleスプレッドシートでChatGPTを利用するために、GoogleAppScriptの設定を行います。
まずはGoogleスプレッドシートでAppScriptエディタを開いてください。
「function myFunction(){}」を削除して、以下のコードをエディタに貼り付けます。
function generateText(prompt) {
const apiKey = 'YOUR_API_KEY';
const url = 'https://api.openai.com/v1/engines/davinci-codex/completions';
const payload = {
prompt: prompt,
max_tokens: 100,
n: 1,
stop: null,
temperature: 0.7,
};
const options = {
contentType: 'application/json',
headers: {
'Authorization': 'Bearer ' + apiKey,
},
payload: JSON.stringify(payload),
};
const response = UrlFetchApp.fetch(url, options);
const json = JSON.parse(response.getContentText());
return json.choices[0].text.trim();
}
これで、GoogleAppScript上でChatGPTを利用する準備が整いました。
3.APIキーの設定
ChatGPTとスプレッドシートを連携するには、OpenAIのAPIキーが必要です。
OpenAIのサイトから「API keys」タブを選択し、「Create new secret key」をクリックします。
出典:Open AI
必要項目を入力すればAPIキーが発行されるので、コピーしておきましょう。
出典:Open AI
コピーが完了したら、GoogleAppScriptエディタに移動します。
「プロジェクトの設定」から画面下部にある「スクリプトプロパティを追加」をクリックしてください。
プロパティにAPIKEY、値にコピーしたAPIキーを入力すれば設定は完了です。APIキーの設定が完了したら、保存してスクリプトを実行します。
4.動作確認
最後に、ChatGPTとスプレッドシートの連携が正常に動作するか確認します。操作ボタンを設定するために、ますは適当な画像を作成してください。
作成した画像を右クリックし、「スクリプトの割り当て」に「generateText」と入力しましょう。
最後にA1セルに値を入力し、B1セルに出力結果が表示されれば連携が成功している証拠です。これで、スプレッドシート上でChatGPTの機能を自由に活用できるようになります。
ChatGPTでスプレッドシートを直接読み込んで便利に使う方法
ChatGPTでスプレッドシートを直接読み込んで活用する方法は主に以下3つです。
- データ分析
- データの書き換え
- チャート作成
それぞれ詳しく見ていきましょう。
データ分析
ChatGPTでスプレッドシートのデータを直接読み込めば、高度なデータ分析が可能です。
売上データを月ごとに分析し、偏りがあるかどうかをt検定(データの偏りや差があるかどうかを確認する統計手法)で確認できます。
データ分析をしたい場合は、以下のプロンプトを入力してみましょう。
【プロンプト例】
全データの売上データを確認し、月ごとの売上の偏りをt検定で確認し、結果をテキストで出力してください。下記データを使用してください。
〈データ〉
https://docs.google.com/````````````
【出力例】
ChatGPTは、指定されたスプレッドシートのデータを読み込み、月ごとの売上の偏りをt検定で分析します。
テキスト形式で出力されるため、ユーザーは簡単に結果を確認できるでしょう。
このようにChatGPTとスプレッドシートを連携させることで、複雑なデータ分析をシンプルに行えます。
データの書き換え
ChatGPTとスプレッドシートの連携により、データの一括書き換えも容易に行えます。
たとえば、特定の年度の売上データをすべて一定の金額だけ調整したい場合、以下のようなプロンプトをChatGPTに入力してください。
【プロンプト】
2021年度の売上を、すべてマイナス1000円にして、修正したスプレッドシートを出力してください。下記データを使用してください。
〈データ〉
https://docs.google.com/````````````
【出力例】
書き換えたデータは、表形式で出力することも可能です。この機能を使えば、手作業でデータを修正する手間を省けるため、効率的にデータを更新できるでしょう。
チャート作成
ChatGPTとスプレッドシートの連携により、データからチャートを自動生成することも可能です。
以下のプロンプトを使用すれば、指定したスプレッドシートの売上データから折れ線グラフを作成できます。
【プロンプト】
すべての売上データを折れ線グラフにしてください。凡例は英語にしてください。下記データを使用してください。
〈データ〉
https://docs.google.com/````````````
【出力例】
このようにChatGPTとスプレッドシートを連携させれば、データの可視化を自動化し、ユーザーの分析作業を支援してくれます。
弊社SHIFT AIでは、ChatGPTで使えるプロンプトを175個まとめた資料を無料で配布しています。
ChatGPTをさらに使いこなしたい方は、以下のリンクから資料をダウンロードしてみてください。
\ 無料でダウンロード! /
よくあるトラブルと対処法
ChatGPTとスプレッドシートを連携させると、以下のようなトラブルが発生するケースがあります。
- 大量の関数実行によるエラー
- OpenAIサーバー高負荷時のエラー
- APIの認証エラー
上記3つのトラブルと対処法について詳しく解説します。
大量の関数実行によるエラー
大量の関数を同時に実行すると、スプレッドシートに高い負荷がかかり、エラーが発生しやすくなります。この問題を解決するためには、いくつかの対策を講じる必要があります。
まず、スプレッドシートを複数のシートに分割し関数の実行を分散させるのが効果的です。これにより、一度に処理する関数の数を減らせるので、スプレッドシートへの負荷を軽減できます。
また、非同期処理やトリガーを利用して、関数の実行タイミングをずらすのも有効です。非同期処理の導入で関数の実行を並列化し、処理時間を短縮できます。
トリガーを設定すれば関数の実行を一定の間隔で行え、スプレッドシートへの負荷の分散が可能です。
OpenAIサーバー高負荷時のエラー
ChatGPTとスプレッドシートを連携させる際、OpenAIのサーバーが高負荷状態になると、一時的にAPIリクエストが失敗する可能性があります。以下のような対処法を試してみてください。
まずAPIリクエストが失敗した場合、一定時間待ってから再度リクエストを送信するリトライロジックの実装が重要です。
これにより、一時的なサーバーの高負荷状態が解消された後、自動的にリクエストを再送信できます。
また、エラーが発生した際にバックオフ戦略を導入するのも効果的です。バックオフ戦略とは、再試行の間隔を徐々に増やしていく手法です。
最初は短い間隔でリトライを行い、失敗がつづく場合は間隔を徐々に延ばしていきます。これにより、サーバーへの負荷を軽減しつつ、リクエストの成功率を高められます。
APIの認証エラー
ChatGPTとスプレッドシートを連携させる際、APIの認証に失敗するケースもあります。この問題の主な原因としては、APIキーの不正使用や期限切れが考えられます。
定期的にAPIキーを更新し、セキュリティを確保することが大切です。APIキーを定期的に変更しておけば、不正使用のリスクを軽減できます。
また、APIキーの有効期限の適切な設定により、期限切れによる認証エラーを防げます。
さらに、環境変数やシークレットマネージャーを使用して、APIキーを安全に管理することも効果的です。
APIキーをソースコード内に直接記述するのではなく、環境変数として設定しておけばキーの漏洩リスクを軽減できます。
APIキーを暗号化し、安全に保管したい方はシークレットマネージャーを使用しましょう。
ChatGPTとスプレッドシートを連携させたユーザーの声
ChatGPTとスプレッドシートを連携させたユーザーからは、さまざまな声が上がっています。たとえば、X(旧Twitter)では、以下のような声が上がっています。
Chat GPT先生に「スプレッドシートでこんなことしたいよー!」と聞いたらさっとスクリプト作ってくれてコピペand微修正で願いが叶う。
— がーすー🌈ねこと娘好き産業医🦕 (@Gs_Op0728) May 16, 2024
ついつい遊んでしまうな、これ。
ChatGPT に相談しながらGASを書いたら、チェックボックスをクリックしたらメールの下書きがポップアップで表示されて 、編集/送信までできちゃうGoogleスプレッドシートが出来上がりました。簡単にこんなすごいシステムが出来ちゃったのでびっくりしました。
— yoshiko muraki🇹🇭 (@hatonohi) May 17, 2024
ChatGPTに「スプレッドシートでやりたいこと」を伝えるだけで、スクリプトを作成できます。
そのスクリプトをコピペして修正するだけで、希望のスプレッドシートを簡単に実現できました。
ほかにも、ChatGPTを使ってGASを書き、簡単なシステム構築に成功したユーザーもいます。
ChatGPTのサポートを受けながらGASを設定した結果、チェックボックスをクリックするだけでメールの下書き、編集、送信ができるスプレッドシートを作成できたという声が見られました。
ChatGPTとスプレッドシートを連携させれば、コードに詳しくなくても簡単に便利なシステムを作成できます。これが大きな魅力と言えるでしょう。
ChatGPTとスプレッドシート連携して業務を自動化しよう
ChatGPTとスプレッドシートを連携させれば、業務の自動化と効率化を実現できます。
- データ分析
- レポート生成
- 意思決定支援など
さまざまなタスクを自動化できるので、作業時間を大幅に削減できるでしょう。
しかし、連携の際には、大量の関数実行によるエラーやOpenAIサーバーの高負荷時のエラー、APIの認証エラーなどの問題に直面する可能性があります。
ChatGPTの活用方法については、以下の記事で詳しく解説しています。国内・海外の事例も紹介しているので、自社での活用方法に迷っている方はぜひこちらもご覧ください。
対処法がわからない場合やChatGPTの活用方法をさらに知りたい場合は、SHIFT AIへの入会を検討するのもおすすめです。
SHIFT AIでは、ChatGPTをはじめとする生成AIの使い方を学べる資料を無料で配布しています。この機会にぜひ手にとてみてください。
\ 無料でダウンロード! /