【ChatGPT×スプレットシート】無料で連携する方法や料金、プロンプトを解説

chatgpt スプレッドシート 自動化

情報収集や資料作成など、さまざまな場面で活用できるGoogleのスプレッドシートですが、ChatGPTの機能を連携できることはご存知ですか?

文章作成やリライト、表の作成もChatGPTに任せられるので、今まであなたがやってきたルーティン業務はもうやらなくて済むかもしれません


今回は下記のようにスプレッドシートの値を読み取って結果を返してくれるような実装をしていきます。

最後まで読めば、ChatGPTとスプレッドシートの連携方法を理解できるので、スプレッドシートを使った単純作業を大幅に効率化できます。
ぜひ最後までご覧ください。

なお弊社では、生成AIツール開発についての無料相談を承っています。こちらからお気軽にご相談ください。
→無料相談で話を聞いてみる

目次

ChatGPTの機能をスプレッドシートに組み込めるOpenAI APIとは?

GoogleスプレッドシートにChatGPTの機能を組み込めるのは、ChatGPTの元になっているGPT-3のサービスが、外部と連携可能なAPIとして公開されているためです。ChatGPTのOpenAIのAPIを利用することで、スプレッドシート上でChatGPTのようなサービスを機能として実装できます。

APIキーの発行方法やスプレッドシートへの設定方法は、本記事の「ChatGPT(OpenAI)とGoogle sheetを連携させる手順」で解説しているので、ぜひ参考にしてみてください。

ChatGPTのAPIについて詳しくは、以下の記事でも解説しています。利用方法や活用事例が気になる方は、併せてご覧ください。

ChatGPTとスプレッドシートの連携は無料でできる?料金について解説!


ChatGPTとスプレッドシートの連携は無料でもできます。これは、OpenAIのアカウントを開設すると、3ヶ月間利用できる18ドルの無料クーポンが付帯するためです。

ただし、18ドルで利用できるトークン数を使いきると、その後は課金しなければ利用できません。なお、APIの料金はAIモデルごとに異なります。ChatGPTのような文章生成AIで一番高性能なLanguage ModelのDavinciでは、1000トークンで$0.0200になります。

​​

トークンですが1単語につき1トークンになっています、例としては「Apple」で1トークンになります。
ただ日本語で尚且つ漢字やひらがなでも、それぞれトークンのカウント数が違う(増える)のでOpenAIのPlaygroundから事前に確認して下さい。

ChatGPT(OpenAI)とGoogle sheetを連携させる手順

ChatGPT(OpenAI)とGoogle sheetを連携させる手順

OpenAIとGoogle sheetは以下の手順で確認することが出来ます。

  1. OpenAIのアカウント取得
  2. GoogleAppScriptの設定
  3. APIキーの設定
  4. ボタン設定
  5. 動作確認

1.OpenAIのアカウント取得

OpenAIアカウントを解説する為に以下のサイトにアクセスして下さい。
OpenAI API


右上のSIGN UPをクリックして、BOTではないかの認証があるのでクリックして次に進んでください。
アカウント作成のページが出るので、そこでアカウントを作成して下さい。
GoogleアカウントかMicrosoftアカウントを利用することも出来ます。
パスワードや簡単な質問に回答する必要があるのでアナウンスに従って入力してください。
またサインアップには電話認証が必要になるので事前に用意して下さい。
アカウントを作成したら以下のサイトにアクセスしてAPIキーを取得する為に「+ Create new secret Key」をクリックして下さい。
OpenAPI-keys

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を入力して下さい。

CellのA1に調べたい値を入力し設定したボタン(図形)をクリックするとCellのB1に結果が出力されます。
OpenAIの仕様で空欄の際には適当な文書が出力されたり、ChatGPTより精度は劣るところもあるので注意は必要ですがGoogleSheetとOpenAIの組わせで様々な業務を効率化出来そうです。
ちなみに上記のApps ScriptのコードはChatGPTから出力されたものをベースにしておりAI活用の有効性を改めて感じています。

ChatGPTとスプレッドシートを連携させて面倒臭い業務を自動化してみた

それでは、実際に業務を自動化してみましょう。

今回は、文章のリライトと表作成を自動化してみました。

ChatGPTとスプレッドシートを連携させてGASのコード作成で文章をリライトしてもらう方法

ChatGPTとGoogleスプレッドシートをAPIで連携させれば、GASのコードを記述することで、スプレッドシート内に入力した文章のリライトが行えます。

リライトを行うまでに必要な手順をまとめました。

  1. OpenAIのAPIキーを取得する
  2. スプレッドシートで入力フォーマットを準備する
  3. ChatGPTのAPIにリクエストするためのコードをGASで記述する
  4. RewriteWithGPT関数で入力文のセルを指定する

以下で詳しい手順を解説していくので、ぜひ参考にしてみてください。

OpenAIのAPIキーを取得する

まずは、OpenAIのアカウントを作成し、APIキーを取得します。

APIキーの取得手順は、本記事の「1.OpenAIのアカウント取得」で説明している手順と同様の手順を踏んでください。

APIキーが発行されたら、あとで利用するので、コピーして別の場所に保存しておきましょう。

スプレッドシートで入力フォーマットを準備する

グーグルスプレッドシートでリライト用のフォーマットを作成します。

上記画像のように、ChatGPTへの指示文・入力文・リライト文の3つの項目を作成してください。

なお、ChatGPTへの指示文(プロンプト)は以下を使用しています。

あなたは業界20年のプロの編集者です。

以下の条件に従って、入力文を読みやすくリライトしてください。

# 条件:

・1文は80文字以内にしてください。

・丁寧語を使い、文末はです・ます調を使用してください。

・文章の論理関係をわかりやすくするために、接続詞をなるべく使用してください。

# 入力文:

{content}

上記のプロンプトでは、A列に入力したリライトしたい文章を、プロンプト内の{content}に置き換えてChatGPTに送信する仕組みを整えています。よって、#入力文: {content}を書き換えると、正常に動作しなくなるので注意してください。

一方、条件などは、自分が希望する形に自由に書き換えて問題ありません。

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の法人利用方法5選!業務が鬼捗る生成AIサービス5選も紹介

ChatGPTを使ってスプレッドシート内の表作成を自動化する方法

スプレットシートにChatGPTを連携させれば、表作成も自動化できます。

表に入力する項目をわざわざ自分で調べる必要がなくなるので、業務効率を大幅に向上させることが可能です。

スプレッドシートで表作成を自動化する手順を以下にまとめました。

  1. 「GPT for Sheets and Docs」のアドオンをインストールする
  2. OpenAIのAPIキーをインストールしたアドオンに貼り付ける
  3. 実際に表を作成して「=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のおすすめプラグイン一覧】猛者達が選んだ最強プラグインの使い方39選

ChatGPTとスプレッドシートの連携機能を活かしてリライト業務を効率化しよう

ChatGPTとスプレッドシートを連携させる手順を再度まとめました。

  1. OpenAIのアカウント取得
  2. GoogleAppScriptの設定
  3. APIキーの設定
  4. 動作確認

ChatGPTとスプレッドシートを連携させるには、OpenAIのAPIキーが必要です。APIキーを取得後は、スプレッドシートのAppScriptの設定画面に貼り付けます。

あとは調べたい内容を入力するセルと、ChatGPTから出力される情報を表示するセルを用意しておき、「=gpt」のコードで調べたい内容を入力したセルを指定すれば、自動で情報が出力されるという仕組みを構築可能です。

また、ChatGPTとスプレッドシートを連携させれば、スプレッドシート内に入力した文章のリライトや表作成の自動化も行えます。

文章のリライト手順は以下の通りです。

  1. OpenAIのAPIキーを取得する
  2. スプレッドシートで入力フォーマットを準備する
  3. ChatGPTのAPIにリクエストするためのコードをGASで記述する
  4. RewriteWithGPT関数で入力文のセルを指定する

上記の手順に従い、RewriteWithGPT関数で入力文のセルを指定すれば、ChatGPTが自動でリライト文を考えてくれます。あとは最終チェックを行うだけでよいので、スプレッドシートでリライト業務を大幅に効率化できますよ。

一方、表の作成を自動化する際は、以下の手順を参考にしてください。

  1. 「GPT for Sheets and Docs」のアドオンをインストールする
  2. OpenAIのAPIキーをインストールしたアドオンに貼り付ける
  3. 実際に表を作成して「=gpt」の関数を入力する

スプレッドシート内で表作成を自動化する際は、GASによるコードの記述ではなく、アドオンを使用します。「GPT for Sheets and Docs」をインストールし、APIキーを貼り付けるとGPT関数でChatGPTにリクエストを送れるようになるので、あとは作成した表に「=gpt」の関数を入力してください。

今回紹介した方法でスプレッドシート内にChatGPTの機能を埋め込むと、情報収集や文章作成といった単純業務を大幅に効率化できます。ルーティン業務に追われる日々から脱却したい方は、ぜひ真似してみてください。

最後に

いかがだったでしょうか?

弊社では

・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
ハルシネーション対策AIツールの開発
自社専用のAIチャットボットの開発

などの開発実績がございます。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。

➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

生成AIを社内で活用していきたい方へ

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、弊社紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • ChatGPT Media

    株式会社WEELが運営する生成系AI関連メディア「生成AI Media」は、AIの専門家によるWebメディアです。 AIに特化した編集部がAIの活用方法、導入事例、ニュース、トレンド情報を発信しています。

  • URLをコピーしました!
  • URLをコピーしました!
目次