【ChatGPT×スプレットシート】無料で連携する方法や料金、プロンプトを解説
リサーチや資料作成など、さまざまな場面で活用できるGoogleのスプレッドシートですが、ChatGPTの機能を連携できることはご存知ですか?
文章作成やリライト、表の作成もChatGPTに任せられるので、今まであなたがやってきたルーティン業務やリサーチにかけていた時間が大幅に軽減されます。
本記事では、ChatGPTとスプレッドシートの連携方法とChatGPTでできることを詳しく紹介しています。この2つを連携する事で、今までのスプレッドシートを使った単純作業を大幅に効率化できます。ぜひ最後までご覧ください。
ChatGPTの機能をスプレッドシートに組み込めるOpenAI APIとは
GoogleスプレッドシートにChatGPTの機能を連携できるのは、ChatGPTの元になっているGPT-3のサービスが、外部と連携可能なAPIとして公開されているためです。ChatGPTのOpenAIとAPIを連携することで、スプレッドシート上でChatGPTのようなサービスを機能として実装できます。
APIキーの発行方法やスプレッドシートへの設定方法は、本記事の「ChatGPT(OpenAI)とGoogle sheetを連携させる手順」で解説しているので、ぜひ参考にしてみてください。
ChatGPTのAPIについて詳しくは、以下の記事でも解説しています。利用方法や活用事例が気になる方は、合わせてご覧ください。
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(OpenAI)とGoogle sheetを連携させる手順
ChatGPT(OpenAI)とGoogle sheetを連携させる手順について紹介していきます!
OpenAIとGoogle sheetは以下の手順で確認することが出来ます。
- OpenAIのアカウント取得
- GoogleAppScript設定
- APIキー設定
- ボタン設定
- 動作確認
1.OpenAIのアカウント取得
OpenAIアカウントを開設する為に以下のサイトにアクセスしてください。
▼登録方法
- 右上のSIGN UPをクリック
- BOTではないかの認証をクリックして次に進む
- アカウント作成のページが出るのでアカウントを作成する
※GoogleアカウントかMicrosoftアカウントを利用することも可能 - アナウンスに従ってパスワードや簡単な質問に回答する
※サインアップには電話認証が必要になるので事前に用意が必要 - アカウントを作成後は以下のサイトにアクセスする
- APIキーを取得する為に「+ Create new secret Key」をクリック
APIキーが発行されます。あとで利用するので保存しておいてください。
2.GoogleAppScriptの設定
Google sheetを開いて「拡張機能」から「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.動作確認
上記の操作で準備は完了です。最後にGoogleSheet上で操作できるようにボタンを設定します。GoogleSheetの「挿入」から「図形描写」をクリックして適当な図形を挿入します。
図形を右クリックして「スクリプトの割当て」からgenerateTextを入力してください。
A1に調べたい値を入力し設定したボタン(図形)をクリックするとCellのB1に結果が出力されます。OpenAIの仕様で適当な文書が出力されたり、ChatGPTと比較すると精度は劣るところもあるので注意は必要ですが、GoogleSheetとOpenAIの連携で様々な業務を効率化できます。
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を使ってスプレッドシート内の表作成を自動化する方法
スプレットシートに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とスプレッドシートを連携させる手順と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の機能を埋め込むと、リサーチや文章作成といった単純業務を大幅に効率化できます。ルーティン業務に追われる日々から脱却したい方は、ぜひ参考にしてみてください。
生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。