サイトのデザインが新しくなりました。

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

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

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

文章作成やリライト、表の作成もChatGPTに任せられるので、今まであなたがやってきたルーティン業務やリサーチにかけていた時間が大幅に軽減されます

本記事では、ChatGPTとスプレッドシートの連携方法とChatGPTでできることを詳しく紹介しています。この2つを連携する事で、今までのスプレッドシートを使った単純作業を大幅に効率化できます。ぜひ最後までご覧ください。

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

目次

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は以下の手順で確認することが出来ます。

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

1.OpenAIのアカウント取得

OpenAIアカウントを開設する為に以下のサイトにアクセスしてください。

OpenAI API

▼登録方法

  1. 右上のSIGN UPをクリック
  2. BOTではないかの認証をクリックして次に進む
  3. アカウント作成のページが出るのでアカウントを作成する
    ※GoogleアカウントかMicrosoftアカウントを利用することも可能
  4. アナウンスに従ってパスワードや簡単な質問に回答する
    ※サインアップには電話認証が必要になるので事前に用意が必要
  5. アカウントを作成後は以下のサイトにアクセスする
  6. 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を入力してください。

A1に調べたい値を入力し設定したボタン(図形)をクリックするとCellのB1に結果が出力されます。OpenAIの仕様で適当な文書が出力されたり、ChatGPTと比較すると精度は劣るところもあるので注意は必要ですが、GoogleSheetとOpenAIの連携で様々な業務を効率化できます。

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キーが発行されたらあとで利用するので、コピーして別の場所に保存しておきましょう。

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

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を連携させれば、表作成も自動化できます。表に入力する項目をわざわざ自分でリサーチする必要がなくなるので、業務効率を大幅に向上させることが可能です。

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

  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でできることについて紹介しました。連携方法の手順について再度確認してみましょう!

▼連携方法

  • OpenAIのアカウント取得
  • GoogleAppScriptの設定
  • APIキーの設定
  • 動作確認
  1. ChatGPTとスプレッドシートを連携させる事前準備として、APIキーを取得します。
  2. 取得したキーをスプレッドシートのAppScriptの設定画面に貼り付けます。
  3. 調べたい内容と書かれた情報を表示するセルを2つ用意します。
  4. 調べたい内容を「=gpt」のコードで指定すると自動で情報が出力されます。

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

▼文章のリライト手順

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

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

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

  1. 「GPT for Sheets and Docs」のプラグインアドオンをインストールする
  2. OpenAIのAPIキーをインストールしたアドオンに貼り付ける
  3. 実際に表を作成して「=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の事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

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

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

投稿者

  • ChatGPT Media

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

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