【無料】ChatGPTとスプレッドシートを連携する方法とは?自動化してできることも紹介

リサーチや資料作成など、さまざまな場面で活用できるGoogleのスプレッドシートですが、ChatGPTの機能を連携できることはご存知ですか?
文章作成やリライト、表の作成もChatGPTに任せられるので、今まであなたがやってきたルーティン業務やリサーチにかけていた時間が大幅に軽減されます。
本記事では、ChatGPTとスプレッドシートの連携方法とChatGPTでできることを詳しく紹介しています。この2つを連携する事で、今までのスプレッドシートを使った単純作業を大幅に効率化できます。ぜひ最後までご覧ください。
\生成AIを活用して業務プロセスを自動化/
ChatGPTとスプレッドシートは連携可能!
ChatGPTとGoogleスプレッドシートは連携が可能で、Googleスプレッドシート内でChatGPTの機能を使えるようになります。
GoogleスプレッドシートにChatGPTの機能を連携できるのは、ChatGPTの元になっているGPT-3のサービスが、外部と連携可能なAPIとして公開されているためです。ChatGPTのOpenAIとAPIを連携することで、スプレッドシート上でChatGPTのようなサービスを機能として実装できます。
APIキーの発行方法やスプレッドシートへの設定方法は、本記事の「ChatGPTとスプレッドシートを連携させる手順」で解説しているので、ぜひ参考にしてみてください。
ChatGPTのAPIについて詳しくは、以下の記事でも解説しています。利用方法や活用事例が気になる方は、合わせてご覧ください。

ChatGPTとスプレッドシートを連携させる手順
ChatGPT(OpenAI)とGoogle スプレッドシートを連携させる手順について紹介していきます!
OpenAIとGoogle スプレッドシートは以下の手順で確認することが出来ます。
- OpenAIのアカウント取得
- GoogleAppScript設定
- APIキー設定
- ボタン設定
- 動作確認
1.OpenAIのアカウント取得
OpenAIアカウントを開設する為に以下のサイトにアクセスしてください。
▼登録方法
- 右上のSIGN UPをクリック
- BOTではないかの認証をクリックして次に進む
- アカウント作成のページが出るのでアカウントを作成する
※GoogleアカウントかMicrosoftアカウントを利用することも可能 - アナウンスに従ってパスワードや簡単な質問に回答する
※サインアップには電話認証が必要になるので事前に用意が必要 - アカウントを作成後は以下のサイトにアクセスする
- APIキーを取得する為に「+ Create new secret Key」をクリック
APIキーが発行されます。あとで利用するので保存しておいてください。
2.GoogleAppScriptの設定
Google スプレッドシートを開いて「拡張機能」から「Apps Script」を選択してください。
デフォルトで記載されているfunction myFunction(){}を削除して下記コードを記載してください。
function generateText() {
var api_key = ScriptProperties.getProperty('APIKEY'); // OpenAI APIのダッシュボードから取得したAPIキー
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var promptCell = sheet.getRange("A1"); // プロンプトが入力されたセルの範囲を指定
var prompt = promptCell.getValue();
var model = "text-davinci-003"; // 使用するOpenAIモデルのID
var headers = { "Authorization": "Bearer " + api_key, "Content-Type": "application/json" };
var data = {
"model": model,
"prompt": prompt,
"temperature": 0.5, // 生成されるテキストの多様性を制御するためのパラメーター
"max_tokens": 1024 // 生成されるテキストの最大トークン数を制御するためのパラメーター
};
var options = {
"method": "POST",
"headers": headers,
"payload": JSON.stringify(data)
};
var response = UrlFetchApp.fetch("https://api.openai.com/v1/completions", options);
var json = JSON.parse(response.getContentText());
var generatedText = json.choices[0].text;
var outputCell = sheet.getRange("B1"); // 生成されたテキストを出力するセルの範囲を指定
outputCell.setValue(generatedText);
}
3.APIキーの設定
次に先ほどの手順1のAPIキーを設定します。
AppScriptの「プロジェクトの設定」からスクリプトプロパティの「スクリプトプロパティを追加」をクリックしてプロパティにAPIKEY、値に1で保存したAPIキーを設定してください。
4.動作確認
上記の操作で準備は完了です。最後にGoogleスプレッドシート上で操作できるようにボタンを設定します。Googleスプレッドシートの「挿入」から「図形描写」をクリックして適当な図形を挿入します。
図形を右クリックして「スクリプトの割当て」からgenerateTextを入力してください。
A1に調べたい値を入力し設定したボタン(図形)をクリックするとCellのB1に結果が出力されます。OpenAIの仕様で適当な文書が出力されたり、ChatGPTと比較すると精度は劣るところもあるので注意は必要ですが、GoogleスプレッドシートとOpenAIの連携で様々な業務を効率化できます。
ChatGPTとスプレッドシートの連携は無料
ChatGPTを連携させる前に気になるのは、導入にかかる料金ですよね。
ChatGPTとスプレッドシートの連携は無料でもできます。これは、OpenAIのアカウントを開設すると、3ヶ月間利用できる18ドルの無料クーポンが付帯するためです。
ただし、$18ドル(日本円で約300円)で利用できるトークン数を使い切ると、その後は課金しなければ利用できません。なお、APIの料金はAIモデルごとに異なります。ChatGPTのような文章生成AIで一番高性能なLanguage ModelのDavinciでは、1000トークンで$0.0200(日本円で約3円)になります。

トークンは「1単語=1トークン」になっていますが、例としては「Apple」で1トークンになります。
しかし、漢字やひらがなではそれぞれトークンのカウント数が違います。
- ひらがな=1文字で1~2トークン
- 漢字=1文字で1~3トークン

そのため、ChatGPTの文字数制限やAPIの利用料金はトークン数でカウントされているのでOpenAIのPlaygroundから事前に確認してください。
ChatGPTとスプレッドシートを連携させるとできること
ChatGPTとスプレッドシートを連携させると、以下のようなことができるようになります。
- データ分析
- 表作成の自動化
- カテゴリー分け
- フォーマットの統一
- 翻訳
それぞれの詳しいやり方を解説していくので、スプレッドシート上でChatGPTを使いこなしたい方は、ぜひ参考にしてみてください。
データ分析
ChatGPTのチャット画面自体にスプレッドシートを読み込ませると、スプレッドシートの内容を分析できます。例えば、企業の売上データや販売データなどをアップロードし、「どの商品が何月に売れている傾向があるか?」などの分析をしたい場合に便利です。
実際にデータ分析したい場合は、該当のスプレッドシートをGoogleドライブ経由で読み込ませ、プロンプトで分析して欲しい内容を指示します。
表作成の自動化
スプレッドシートで「GPT for Sheets and Docs」のアドオンをインストールすると、ChatGPTの機能を使って表作成を自動化できるようになります。
例えば、以下のような表の空欄を埋める際に便利です。

詳しいやり方は、「ChatGPTを使ってスプレッドシート内の表作成を自動化する」でも解説しています。
カテゴリー分け
ChatGPTとスプレッドシートを連携すると、シート内に記載してある情報を自動でカテゴリー分けできます。
例えば、アンケート内容などから属性分けしたいときなどに便利です。

使用する関数は、「GPT_CLASSIFY」です。膨大な量の情報をカテゴリー分けする際は、ぜひ活用してみてください。
フォーマットの統一
スプレッドシート内でChatGPTの機能を使うと、バラバラに記載されている情報のフォーマットを瞬時に統一できます。
以下のように、日付の見た目を揃える際などで便利です。

見た目がバラバラになっているシートの情報を整えたい場合は、ぜひ活用してみてください。
翻訳
スプレッドシート内でChatGPTの機能を使えば、シート内の文章を翻訳することも可能です。フォームに送信された大量の英語文を日本語に翻訳する際などに使えます。

シート内の文章を毎回ChatGPTや翻訳ツールにコピペするよりもかなり効率的なので、ぜひ活用してみてください。
ChatGPTとスプレッドシートを連携させて面倒臭い業務を自動化してみた
それでは、実際に業務を自動化してみましょう。今回は、文章のリライトと表作成を自動化してみました。
ChatGPTとスプレッドシートを連携させてGASのコード作成で文章をリライトしてもらう
ChatGPTとGoogleスプレッドシートをAPIで連携させると、GASのコードを記述するだけでスプレッドシート内に入力した文章のリライトができます!
▼リライトを行うまでに必要な手順
- OpenAIのAPIキーを取得する
- スプレッドシートで入力フォーマットを準備する
- ChatGPTのAPIにリクエストするためのコードをGASで記述する
- RewriteWithGPT関数で入力文のセルを指定する
さらに詳しい手順は以下で解説します。ぜひ参考にしてみてください。
OpenAIのAPIキーを取得する
まずは、OpenAIのアカウントを作成し、APIキーを取得します。APIキーの取得手順は、本記事の「1.OpenAIのアカウント取得」で説明している手順と同様の手順になります。
APIキーが発行されたらあとで利用するので、コピーして別の場所に保存しておきましょう。
スプレッドシートで入力フォーマットを準備する
Googleスプレッドシートでリライト用のフォーマットを作成します。
上記画像のように、ChatGPTへの指示文・入力文・リライト文の3つの項目を作成してください。
なお、ChatGPTへの指示文(プロンプト)は以下を使用しています。
▼プロンプトの例
例)あなたは業界20年のプロの編集者です。
以下の条件に従って、入力文を読みやすくリライトしてください。
# 条件:
・1文は80文字以内にしてください。
・丁寧語を使い、文末はです・ます調を使用してください。
・文章の論理関係をわかりやすくするために、接続詞をなるべく使用してください。
# 入力文:
{content}
上記のプロンプトではA列に入力したリライトしたい文章を、プロンプト内の{content}に置き換えてChatGPTへ送信する仕組みになっています。
よって、#入力文: {content}を書き換えると、正常に動作しなくなるので注意してください。入力する条件や内容は自由に書いてOKです。
ChatGPTのAPIにリクエストするためのコードをGASで記述する
いよいよ、スプレッドシートでChatGPTのAPIにリクエストするためのコードをGASで記述します。まずは、「拡張機能」から「Apps Script」を選択してコードの記述画面に移動しましょう。
▼以下のコードを入力していきます!
(入力するコード)
/**
* ChatGPTで文章をリライトする関数
*
* @param {String} 原文
* @return {String} リライトされた文章
* @customfunction
*/
function RewriteWithGPT(originalSentence) {
const API_KEY = "各自で設定";
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート名");
const basePrompt = sheet.getRange("A2").getValue();
const prompt = basePrompt.replace("{content}", originalSentence);
const messages = [{ role: "user", content: prompt }];
const payload = {
model: "gpt-3.5-turbo",
messages: messages
};
const options = {
contentType: "application/json",
headers: { Authorization: "Bearer " + API_KEY },
payload: JSON.stringify(payload),
muteHttpExceptions: true
};
const url = "https://api.openai.com/v1/chat/completions";
const response = JSON.parse(UrlFetchApp.fetch(url, options).getContentText());
const rewritedSentence = response.choices[0].message.content.trim();
return rewritedSentence;
}
※APIキーの部分には、最初の手順で取得したAPIキーを入力してください。
)
また、画像の12行目でシート1と入力している「getSheetByName」の部分は自分がスプレッドシートで設定しているシート名を入力します。(スプレッドシートの左下あたりに記載されています)
コードを入力した後は、上に表示されている「実行」をクリックします。
「実行」を選択すると、実行ログが表示されるので、実行完了と表示されればOKです。
RewriteWithGPT関数で入力文のセルを指定する
最後に、RewriteWithGPT関数を上記のように入力して、ChatGPTのAPIにリクエストを送ります。
しばらく待つと出力がされるので、リライトされた文章を確認しましょう。
実際にリライトされ出力された文章が上記の画像です。
しっかりと条件通りにです・ます調に整い、適度に句読点も入っていますね!
ちなみに、スプレッドシートを閉じると、RewriteWithGPT関数が再実行されてリライト文が別物になってしまいます。よい文章ができた際は、コピーしてどこかのセルに値で貼り付けておきましょう。
ChatGPTを使ってスプレッドシート内の表作成を自動化する方法
スプレットシートにChatGPTを連携させれば、表作成も自動化できます。表に入力する項目をわざわざ自分でリサーチする必要がなくなるので、業務効率を大幅に向上させることが可能です。
スプレッドシートで表作成を自動化する手順を以下にまとめました。
- 「GPT for Sheets and Docs」のアドオンをインストールする
- OpenAIのAPIキーをインストールしたアドオンに貼り付ける
- 実際に表を作成して「=gpt」の関数を入力する
上記の手順では、OpenAIのAPIキーを取得した前提で進めています。
まだ取得していない方は、「1.OpenAIのアカウント取得」で詳しい手順を解説しているので、参考にしながら事前に取得しておきましょう。
スプレッドシートで表作成を自動化する詳しい手順を解説していくので、ぜひ参考にしてみてください。
「GPT for Sheets and Docs」のアドオンをインストールする
まずは、スプレッドシートを開き、「拡張機能」→「アドオン」→「アドオンを取得」を選択します。
上記のような画面が表示されるので、検索欄で「GPT for Sheets and Docs」と検索し、アドオンをインストールしてください。
OpenAIのAPIキーをインストールしたアドオンに貼り付ける
「GPT for Sheets and Docs」をインストールすると、上記のような画面に切り替わります。赤枠で指定している箇所に取得したAPIキーを貼り付け、「Next」をクリックしてください。
実際に表を作成して「=gpt」の関数を入力する
実際に上記のような表を作成して、自動で情報を入力したい箇所に「=gpt」の関数を入力します。
実際に入力している関数は以下のとおりです。
県庁所在地
=gpt($B2&"の"&$C1&"は何市か答えてください")
特徴
=gpt($B2&"の"&D$1&"を50文字以内で答えてください")
すると、以下の画像のように出力されます。
プロンプトをもっと細かく指定すれば、文調や文字数なども変更可能です。関数を入力するだけで自動で情報が入力されるため、表作成の業務を大幅に効率化できますね!
ただし、情報が必ずしも正確とは限らないので、最終的なチェックは人の目で行う必要があります。ルーティン業務として表作成を毎日のようにこなしている方は、ぜひ連携してみてください。
今はまだ、ChatGPTによる情報の出力は正確性に欠けますが、100%正確な情報を出力できるまで進歩を遂げたら、人間が表を作成することはなくなるかもしれませんね。
ChatGPTとスプレッドシートを連携する際によくあるトラブル事例
ChatGPTとスプレッドシートを連携する際、以下のようなことが原因でうまく連携できないことがあります。
- APIキーの読み込みエラー
- サーバー負荷によるリクエストエラー
- 大量の関数実行によるタイムアウトエラー
- レート制限の超過によるエラー
- セルや範囲指定のミスによるエラー
- スプレッドシートが開けない
APIキーの読み込みエラー
ChatGPTとスプレッドシートを連携する際、APIキーは認証のために必須です。このキーが正しく読み込まれないと、リクエストが送信できず、連携がまったく動作しません。
よくある原因
- APIキーが未設定、もしくは誤って設定されている
- 環境変数やスクリプト内での参照方法が間違っている
- APIキーが期限切れや無効化されている
- スプレッドシートのスクリプトが複数の環境で実行されており、キーが正しく同期されていない
APIキーが読み込みエラーになっている場合、まずはキーが正しいか確認し、同時に有効期限や制限なども確認しましょう。
複数の環境で実行する場合は、各環境でキーを設定するのがおすすめです。
サーバー負荷によるリクエストエラー
ChatGPT APIやスプレッドシート側のサーバーに一度に多くのリクエストを送ると、処理が追いつかずエラーが発生することがあります。特に大量のデータを扱う場合や、短時間に複数回アクセスする場合に起こりやすいです。
よくある原因
- 同時に大量のAPIリクエストを送信している
- スプレッドシート上で重い計算や関数を同時に実行している
- OpenAI側のサーバーが一時的に高負荷状態にある
サーバーに負荷がかかっている場合は、時間を空けてから再度をリクエストを送ったり、リクエストの感覚を空けたりするのが有効です。
大量の関数実行によるタイムアウトエラー
スプレッドシート上で複数の関数を同時に実行したり、ChatGPT APIに大量のリクエストを一度に送ると、処理が完了する前にタイムアウトが発生することがあります。
タイムアウトが起きると、関数が途中で停止したり、正しい結果が返らない場合が多いです。
よくある原因
- 一度に大量のデータを処理しようとしている
- スクリプト内でループを多用して連続リクエストを送信している
- スプレッドシート関数とAPIリクエストが同時に実行され、処理が重くなっている
大量の関数実行によるタイムアウトを防ぐには、まず処理を分割して少量ずつ実行することが重要です。
例えば、スクリプト内でループを使う場合は、1回の処理で送るデータ量を制限し、必要に応じて間隔を空けてリクエストを送るようにします。
また、スプレッドシート側で計算負荷の高い関数を多用している場合は、事前にデータを整理したり、計算済みの値を別のシートや変数に保存しておくと効率的です。
レート制限の超過によるエラー
ChatGPT APIには「一定時間内に送信できるリクエスト数(レート制限)」が設けられています。この上限を超えてアクセスすると、エラーが返され、処理が中断する仕組みです。
よくある原因
- 多数の関数やスクリプトを同時に実行している
- 1秒間に複数のリクエストを連続送信している
- 複数のユーザーや環境が同じAPIキーを共有して利用している
レート制限エラーを回避するには、まずリクエストの送信間隔を調整することが効果的です。無駄なリクエストを減らし、アクセスを分散することでエラー発生を大幅に防げます。
セルや範囲指定のミスによるエラー
スプレッドシートとChatGPTを連携する際、関数やスクリプトでセル範囲を指定します。このとき、指定が誤っていると想定外のデータを読み込んだり、関数が動作しなかったりするエラーが発生します。
特に複雑なシート構成や複数人で編集している場合に起こりやすいトラブルです。
よくある原因
- 存在しないセルやシート名を指定している
- 範囲指定がずれており、空白セルや異なる形式のデータを読み込んでいる
- 別の人が編集してセル位置が変わってしまった
- 絶対参照($A$1)と相対参照(A1)の使い分けを誤っている
セルや範囲指定のエラーを防ぐには、まず参照する範囲が正しいかを都度確認することが大切です。範囲が頻繁に変わる可能性がある場合は、シート名や範囲を固定したり、名前付き範囲を活用しましょう。
スプレッドシートが開けない
ChatGPTと連携したスプレッドシートを他者から共有してもらったものの、開けないというケースが稀にあります。スプレッドシートは、シートごとに閲覧や編集できるユーザーの権限を変えられるので、自身に閲覧権限がないことが主な原因です。
よくある原因
- 共有されたシートの閲覧権限がない
- 共有されたシートが間違っている
シートの閲覧権限は作成者のみが変更できるため、シートを共有してくれた方に閲覧権限の付与を依頼しましょう。
ChatGPTとスプレッドシートを連携する際の注意点
ChatGPTとスプレッドシートを連携する際は、以下の3点に注意が必要です。
- 従量課金で使うほど請求額が高くなる
- 出力された情報が正しいとは限らない
- 個人情報や機密情報の入力に注意する
特に、スプレッドシート上ではAPI経由でChatGPTの機能を呼び出しているので、従量課金で請求が発生する点に注意が必要です。
以下では、そのほかの注意点も含めて詳しくみていきましょう。
従量課金で使うほど請求額が高くなる
スプレッドシート上でChatGPTの機能を利用する際は、APIを通じて従量課金で請求が発生します。そのため、ChatGPTをチャット上で利用するときと同じ感覚で多くのリクエストを実行すると、気づかないうちに請求額が高額になるケースも少なくありません。
もし、社内やチームでChatGPTのAPIを利用するのであれば、1リクエストあたりに料金が発生することを周知し、慎重に利用しましょう。
出力された情報が正しいとは限らない
ChatGPT×スプレッドシートの連携は便利ですが、出力された情報が必ずしも正しいとは限りません。AIは学習データや入力内容をもとに推測して答えを返すため、誤った数値や不完全な説明を含めてしまうケースがあります。
特にビジネスで使う数値やレポートでは正確性が求められるので、そのまま鵜呑みにせず、必ず人間が最終チェックを実施しましょう。
個人情報や機密情報の入力に注意する
ChatGPTは、API経由で送られてきたデータをモデルのトレーニングに利用しないため、基本的にスプレッドシートに個人情報や機密情報を入力しても問題ありません。
しかし、ChatGPTのチャット上に入力した情報については、プラン次第でモデルの学習に使われてしまうケースがあります。
特に、無料プランで何も設定しないままChatGPTを使うと、入力したデータがモデルのトレーニングに利用されてしまいます。
もし、チャット上に直接個人情報や機密情報を入力する可能性があるのであれば、以下の手順でオプトアウトの手続きを実行しましょう。
- ChatGPTでアカウント名をクリック
- 「設定」の「データコントロール」を選択
- 「Chat history & training」の設定をオフにする
なお、ChatGPTの法人利用方法やセキュリティについて気になる方は、以下の記事をご覧ください。

ChatGPTとスプレッドシートの連携機能を活用しよう!
本記事ではChatGPTとスプレッドシートを連携させる手順とChatGPTでできることについて紹介しました。連携方法の手順について再度確認してみましょう!
▼連携方法
- OpenAIのアカウント取得
- GoogleAppScriptの設定
- APIキーの設定
- 動作確認
- ChatGPTとスプレッドシートを連携させる事前準備として、APIキーを取得します。
- 取得したキーをスプレッドシートのAppScriptの設定画面に貼り付けます。
- 調べたい内容と書かれた情報を表示するセルを2つ用意します。
- 調べたい内容を「=gpt」のコードで指定すると自動で情報が出力されます。
また、ChatGPTとスプレッドシートを連携させれば、スプレッドシート内に入力した文章のリライトや表作成の自動化も行えます。
▼文章のリライト手順
- OpenAIのAPIキーを取得する
- スプレッドシートで入力フォーマットを準備する
- ChatGPTのAPIにリクエストするためのコードをGASで記述する
- RewriteWithGPT関数で入力文のセルを指定する
上記の手順に従い、RewriteWithGPT関数で入力文のセルを指定すれば、ChatGPTが自動でリライト文を考えてくれます。あとは最終チェックを行うだけでよいので、情報のリサーチやルーティーン業務がなくなりリライト業務を大幅に効率化できます。
▼表の作成を自動化する際は、以下の手順を参考にしてください。
- 「GPT for Sheets and Docs」のプラグインアドオンをインストールする
- OpenAIのAPIキーをインストールしたアドオンに貼り付ける
- 実際に表を作成して「=gpt」の関数を入力する
用します。「GPT for Sheets and Docs」をインストールし、APIキーを貼り付けるとGPT関数でChatGPTにリクエストを送れるようになるので、あとは作成した表に「=gpt」の関数を入力してください。
今回紹介した方法でスプレッドシート内にChatGPTの機能を埋め込むと、リサーチや文章作成といった単純業務を大幅に効率化できます。ルーティン業務に追われる日々から脱却したい方は、ぜひ参考にしてみてください。

最後に
いかがだったでしょうか?
スプレッドシートとChatGPTを組み合わせれば、表作成やリサーチなどのルーティン業務を効率化し、戦略的な業務に時間を割けるようになります。
株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
生成AIを活用したプロダクト開発の支援内容は、以下のページでも詳しくご覧いただけます。
➡︎株式会社WEELのサービスを詳しく見る。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、通勤時間に読めるメルマガを配信しています。
最新のAI情報を日本最速で受け取りたい方は、以下からご登録ください。
また、弊社紹介資料もご用意しておりますので、併せてご確認ください。