【コピペOK】GPT-4oをスプレッドシートの関数で使う方法!(APIキー必要)

2024年6月30日

2024年5月に発表されたOpenAIの最新AIモデルであるGPT-4oはGPT-4 Turboがパワーアップし、高速で高精度な応答が可能です。

そんなGPT-4oをスプレッドシートから関数として利用する方法を解説します。

OpenAIのAPIキーが必要になりますが、コピペするだけで誰でも利用可能です。

スプレッドシートでGPT-4oを使えると便利

OpenAIが2024年5月に発表したGPT-4oはGPT-4 Turboよりも優れている最新のAIモデルです。

応答精度に加えて、応答速度が飛躍的に向上していて、応答結果を待つ時間が短縮されました。

そんな最新のGPT-4oがスプレッドシートの関数として利用できるととても便利です。

GASカスタム関数でGPT-4oがスプレ利用可能に

GPT-4oはOpenAI社が開発しているAIモデルのため、Googleが提供するスプレッドシートには標準関数としては用意されていません。

しかし、実はGPT-4oをスプレッドシートから関数として利用することができます。

その方法はGoogle Apps Script(GAS)を使い、カスタム関数を作成する方法です。

GASのコードでプロンプトを引数にしてGPT-4oを呼び出す関数を自作すれば、スプレッドシート上からGPT-4oの応答を得ることができます。

コピペで5分でGPT-4o関数が導入可能

ただ、スプレッドシート利用ユーザーが、Google Apps Script(GAS)を使ってGPT-4oを呼び出すカスタム関数を作るのは大変です。

そこで、AutoworkerでGPT-4oから応答が得られる自作関数を用意しました。

後述するセットアップ手順に従い、いくつかの設定とコピペするだけでGPT-4oをスプレッドシートで利用可能になります。

事前準備:OpenAIのAPIキー発行

スプレッドシートのGPT-4oを呼び出すカスタム関数を利用するにあたって事前準備が1つあります。

それはGPT-4oを呼び出すためにAPIキーを取得することです。

そのためにはOpenAIにサインアップした上で、APIキーを発行する作業が必要です。

※すでにChatGPTで会員登録しているとして、OpenAIの会員登録手順はスキップします。

1.OpenAIのAPIのダッシュボードページにログインし、左メニューにある「API Keys」を選択します。

スプレッドシートでGPT-4oを呼び出す自作のGPT4O関数を作るため、APIダッシュボードにアクセス

2.APIキー管理画面で右上にある「Create new secret key」ボタンをクリックします。

OpenAIのAPI管理画面でAPIキーを発行するため「Create new secret key」ボタンを押下

3.ダイアログが立ち上がるので、APIキーの名前を任意に入力し、Create secret keyボタンをクリックします。

新たに作成する新しいAPIキーの名前を任意に設定してAPIキーを発行

4.OpenAIのAPIキーが発行されるので、「Copy」ボタンを推してAPIキーの文字列をコピーします。

OpenAIのAPI管理画面でAPIキーを発行されたらコピーする。2度と参照できないためテキストエディタなど保存を推奨

※念の為、メモ帳などのテキストエディタにAPIキーを貼っておくのがおすすめです。

以上で事前準備となるOpenAIのAPIキーの準備ができました。

スプレッドシートでGPT-4o関数の設定手順

続いてスプレッドシート側でGPT-4oのカスタム関数のセットアップに移ります。

GPT-4oを呼び出すためのAPIキーとGoogle Apps Script(GAS)で作成したGPT-4oを呼び出すカスタム関数をスプレッドシートに設置していきます。

なお、このセットアップはGPT-4o関数を使いたいスプレッドシートのファイル単位で設定が必要です。

※あるスプレッドシートで設定しても、新しいスプレッドシートで使いたい場合は再度セットアップします。

1.GPT-4o関数を使いたいスプレッドシートを開き、「拡張機能>Apps Script」を選択します。

GoogleスプレッドシートでGPT-4oを呼び出すための自作関数をGoogle Apps Script(GAS)のコードを設定するため、拡張機能のApps Scriptを選択

2.GASのスクリプトエディタが表示されるので、左にある「プロジェクトの設定」を選択します。

OepnAIのAPIキーをGASのスクリプトプロパティに設定するためプロジェクト設定画面に移動

3.スクロールして表示される「スクリプトプロパティを追加」ボタンをクリックします。

スクリプトプロパティのOpenAiのAPIキーを登録

4.プロパティ:APIKEY、値:OpenAIのAPIページで取得したAPIキーを貼り付けて、.「スクリプトプロパティを保存」ボタンをクリックします。

GASのスクリプトプロパティにOpenAIのAPIキーを保存

5.左メニューにある「コード」を選択します。

Google Apps Script(GAS)のスクリプトエディタのコード画面に遷移

6.GASのスクリプトエディタの画面に下記コードをコピペして保存アイコンをクリックし、保存します。

/**
 * GPT-4oにリクエスト
 * @param {'質問文'} prompt GPT-4oへのプロンプト
 * @customfunction
 */
function GPT4O(prompt, temperature=0.9, maxToken=1024) {
  //スクリプトプロパティに設定したOpenAIのAPIキーを取得
  const apiKey = PropertiesService.getScriptProperties().getProperty('APIKEY');
  //OpenAIのAPIで利用するモデルとしてgpt-4oを設定
  const model = 'gpt-4o';
  //GPTのAPIのエンドポイントを設定
  const apiUrl = 'https://api.openai.com/v1/chat/completions';
  //GPTに投げるメッセージを定義(ユーザーロールの投稿文のみ)
  const messages = [{'role': 'user', 'content': prompt}];
  //OpenAIのAPIリクエストに必要なヘッダー情報を設定
  const headers = {
    'Authorization':'Bearer '+ apiKey,
    'Content-type': 'application/json',
    'X-Slack-No-Retry': 1
  };
  //GPTのモデルやトークン上限、プロンプトをオプションに設定
  const options = {
    'muteHttpExceptions' : true,
    'headers': headers, 
    'method': 'POST',
    'payload': JSON.stringify({
      'model': model,
      'max_tokens' : maxToken,
      'temperature' : temperature,
      'messages': messages})
  };
  //OpenAIのGPTにAPIリクエストを送り、結果を変数に格納
  const response = JSON.parse(UrlFetchApp.fetch(apiUrl, options).getContentText());
  return response.choices[0].message.content; 
}
スプレッドシートでGPT-4oを呼び出す自作関数「GPT4O」のコードを貼り付けて保存

以上でスプレッドシートで使えるGPT-4o関数のセットアップは完了です。

スプレッドシートでGPT-4o関数を試してみる

GPT-4oから応答を得られるスプレッドシートのカスタム関数が使えるか試してみます。

セットアップしたスプレッドシートに数式で「=GPT4O」と入力してみます。

GPT4O自作関数を設定後、GPT4O関数がスプレッドシートでサジェスチョン

すると、スプレッドシートの関数候補にGPT4O関数が表示されるようになりました。

設定前は表示されないため、カスタム関数のコードが反映されていることが確認できます。

GPT4O関数では引数としてプロンプトを指定するため、GPT-4oに調べてほしいことを入力します。

Google Apps Script(GAS)のコードで用意したGPT-4oをスプレッドシートから呼び出す自作関数GPT4Oはプロンプトを引数に指定して実行

すると少し読み込みの時間が発生しますが、10秒ほど待つとスプレッドシートのセルにGPT-4oからの応答結果が表示されます。

GPT-4oをスプレッドシートから呼び出すGASカスアム関数のGPT4O関数の実行結果

このようにコピペして5分程度のセットアップをするだけでスプレッドシートでGPT-4を呼び出す関数が使えるようになりました。

引数指定でトークン数などパラメータ調整も

前述したスプレッドシートのGPT-4oを呼び出すGPT4O関数は、プロンプトを指定する第1引数のみでした。

実はそのほかに出力トークン数や応答結果のランダム性を調整するパラメータも引数に指定可能です。

GASで自作したGPT-4oを呼び出すスプレッドシートのカスタム関数では出力トークン数やパラメータを引数指定可能

応答結果を一定にしたい場合は0に近づけて創造性の高い応答がほしい場合は1に近づけます。

このように用意したGPT4O関数では応答結果も調整できるようになっています。

GPT-4oのAPI利用料がかかるので注意

なお、今回説明したスプレッドシートのGPT4O関数には注意点があります。

GPT-4oをスプレッドシートから呼び出す際にはAPIを利用しています。

OpenAIのAPIは無料ではないため、使った分だけ利用料が発生します。

※GPT-4oのAPI利用にかかる料金は前回の記事で解説しています。

使うごとにGPT-4oのAPI利用料が発生することに留意しておきましょう。

さらにスプレッドシートを開くたびにGPT4O関数が再実行されるときも利用料がかかります。

OpenAIのAPI利用方法は前払い方式のため、チャージした金額までAPIを使うと、実行できなくなる点も注意しましょう。

まとめ・終わりに

今回、スプレッドシートでGPT-4oの応答を得るカスタム関数であるGPT4O関数の導入方法と使い方を紹介しました。

OpenAIのAPIキーを用意してGoogle Apps Script(GAS)でGPT-4oを呼び出す自作関数を用意すれば、スプレッドシートでもGPT-4oが利用可能です。

Autoworkerで自作関数のコードを用意したので、APIキーを用意してコピペすれば5分で設定できます。

ChatGPT→GPT-4→GPT-4oと性能アップしてきた最新のAIモデルをスプレッドシートで利用しましょう。