GoogleスプレッドシートにGASコードをインストールする

ここでは、独自に定義したスプレッドシート関数をGoogleスプレッドシート上で使えるように、GASコード(Excelで言うとVBAマクロに相当)をインストールします。

新規のGoogleスプレッドシート(空白のスプレッドシート)を一つ作ってください。 そのメニューの「拡張機能」の「Apps Script」を開いて、 「ファイル」の横の + をクリックして、「スクリプト」を選ぶと、「無題.gs」などの適当なファイル名でファイルが作成されます。そのファイルを選択してください。

function myFunction() {
}

とだけ書かれたファイルの中身が見えましたか。それを一旦全部削除し、中身を空にして、そこに、 FunctionsLLM1.gs の中身を貼り付けて、保存(フロッピーディスクのアイコンをクリック)してください。

FunctionsLLM1.gs の中身はここにもあります。

もとのスプレッドシートに戻ってください。


独自スプレッドシート関数の動作を確認する

新しいシートを追加してください。「シート2」のような名前が付くと思いますが、そのシート名を、api という名前に変更します。
(api は、小文字かつ半角文字で入力してください。API や api はダメです。)そのシート上で、

  • A2 セルには、OpenAI の APIキーを、
  • A3 セルには、Gemini の APIキーを 入力します。(取得できなかったキーは、空欄のままで大丈夫です)

元のシート(シート1)に戻って、 どこかのセルに、

=Gemini("〇〇は何をした人?")
=GPT("〇〇は何をした人?")

などのように、それぞれ入力すると、ちゃんと回答が表示されるかを確認してください。〇〇としては、何でも好きに選んでください。
注意: 関数名、等号、括弧、ダブルクォーテーションマークは、半角文字で入力してください。全角文字を用いるとエラーになります。


GeminiやGPTの機能を利用するスプレッドシート関数について

  • Gemini( ) Geminiにプロンプトを送信し結果を得る
    • 例:=Gemini("企業内教育のDX化で注意すべきことを5つ教えて")
    • 例:=Gemini(B2 & "について説明して")
  • GeminiTranslate( ) 指定した言語(デフォルトは英語)に翻訳する
    • 例:=GeminiTranslate(B3)
    • 例:=GeminiTranslate(B3,"ドイツ語")
  • GeminiSummary( ) 指定した文字数(デフォルトは150文字)に要約する
    • 例:=GeminiSummary(B4)
    • 例:=GeminiSummary(B4,100)
  • GeminiRange( ) 表の指定範囲をプロンプトにしてGPTに送信し結果を得る
    • 例:=GeminiRange(C5:F8)

GPT( ), GPTtranslate( ), GPTsummary( ), GPTrange( ) についても、上記の関数と同じです。違いは、GeminiのAPIではなく、GPTのAPI を用いていることです。

なお、ファイルを開き直したり、セルの値を更新した時、スプレッドシートの再計算が自動的に走り、その度にAPIを呼び出してしまうので、毎回課金されることに注意してください。 再計算しないようにするには、ctrl-c でセルをコピーし、ctrl+shift+v で「値での貼り付け」(計算式を値に置き換える)をしておくと良いです。


API利用料金について

OpenAI の GPT API を使う場合は(GPT( ), GPTtranslate( ), GPTsummary( ), GPTrange( ) の関数を使う場合は)、 基本的に利用料が課金されます。(受講者それぞれでご負担ください。)
Pricing (OpenAI) https://openai.com/api/pricing/

Google の Gemini API は、2024年9月時点で、無料枠(1分あたりの回数やトークン数の制限あり)が設定されており、Google Gemini API 利用料の支払い設定がされていない状態であれば、無料で利用可能です。(ただし、Googleに送信したデータはモデルの改善に使われます)
Gemini API Pricing (Google) https://ai.google.dev/pricing


うまく動作しないときのヒント

GPTのAPIを利用する関数、つまり、GPT( ), GPTtranslate( ), GPTsummary( ), GPTrange( ) の関数の出力でエラー(quota exceeded など)が表示された場合は、本日は、Gemini( ), GeminiTranslate( ), GeminiSummary( ), GeminiRange( ) だけを使ってワークショップの課題に取り組んでもらって、全く問題ありません。

どうしてもGPTのAPI(OpenAIのAPI)を利用する関数も使いたい場合、以下の手順を行えば、OpenAI のAPI が利用可能になる場合があります。(以下の手順を行ってもうまく行かない場合もあります。あるいは、利用可能になるまでに数時間〜1日ほど待たされる場合があります)

  1. 次のURLの Add to credit balance で、少額をチャージ(5ドルなど)
    https://platform.openai.com/settings/organization/billing/overview

  2. 次のURLでAPIキーを再発行し、そのAPIキーを用いる
    https://platform.openai.com/api-keys



(参考)ExcelのVBAで定義された関数もあります

https://github.com/kita-toshihiro/excelfunc-to-llm/blob/main/FunctionsLLM1.bas

ExcelへのVBAファイルのインストール方法: https://atmarkit.itmedia.co.jp/ait/articles/2009/07/news021.html

最終更新日時: 2024年 10月 30日(水曜日) 14:50