Gemini Proを使えるスプレッドシートのカスタム関数の導入方法【コピペOK】

Googleが2023年12月に発表した次世代AIのGeminiは、3種類のうち中位モデルであるGemini ProがAPIで現在利用可能です。

そこでGemini APIを利用してGemini Proの応答が得られるスプレッドシートのカスタム関数として自作する方法を解説します。

※Gemini APIを用意すれば、コピペするだけでGeminiと対話できるスプレ関数が使えます(今ならタダで利用可能です!)

GPT-4/ChatGPTに対抗するGoogleのGemini

Googleは2023年12月に次世代AIモデルであるGeminiを発表しました。

Googleブログによると、Geminiの最上位モデルであるGemini UltraはLLMに関する指標で、OpenAIのGPT-4を超えるスコアを記録したとのことです。

※GoogleのGeminiに関する発表内容は下記の記事でまとめています。

2023年の生成AIはOpenAIのChatGPTとGPT-4が大きな注目を集め、Googleは後塵を拝していました。

そこで、Googleの新たなAIであるGeminiを公開し、2024年に巻き返しを図ろうとしています。

スプレッドシートでGeminiが使えると便利

そんなGeminiはAPIが公開されており、Gemini Proのモデルが利用可能です。

Gemini APIを使えば、色々なツールと連携してGeminiを使うことができます。

Geminiを使えると便利なツール・サービスの1つがスプレッドシートです。

ChatGPTでもスプレッドシートで利用できるアドオンやカスタム関数を多くのユーザーが使っています。

スプレッドシートからGeminiに質問をしたり、文章を生成したり、表計算の数値について分析してもらえると業務改善に繋がります。

Gemini APIでスプレのカスタム関数が自作可能

実はGemini APIを利用すれば、スプレッドシートでGemini Proを利用できるカスタム関数を作成することができます。

スプレッドシートの拡張機能であるGoogle Apps Script(GAS)で、Gemini APIをリクエストするカスタム関数のスクリプトを記述します。

すると、スプレッドシートの関数のような使い方でGemini APIにプロンプトを投稿し、応答を得られる関数が利用可能です。

コピペですぐ使えるスプレGemini関数を公開

ただ、Gemini APIにリクエストし、GoogleのGemini Proと対話するGoogle Apps Scriptのコードを書くのは、詳しくない人には大変です。

そこで、Gemini APIを使い、Gemini Proからの応答が得られるスプレッドシートのカスタム関数を作成しました。

自作したスプレッドシートのGemini関数は、以下で解説する手順に従えば、誰でも導入可能です。

スプレッドシートからGeminiと対話するカスタム関数のコードをコピペするだけなので、約3分で設定できます。

さらに2024年初頭までGemini APIが期間限定無料なので、タダでGemini関数を使えるのもうれしいです。

実際にスプレッドシートで自作したGemini関数の設定手順を解説します。

事前準備:Gemini APIキーを用意

事前準備として、Gemini APIを利用するので、APIキーを用意します。

Gemini APIのKeyはGoogleアカウントさえあれば発行可能です。

Google AI StudioのGemini APIのページにアクセスし、Get API keyから作成します。

※下記のYoutube動画でGemini APIキーを生成するやり方を詳しく解説しています。

Gemini Proを使うスプレのカスタム関数の設定

Gemini APIのキーが準備できれば、スプレッドシートのカスタム関数の導入設定を行います。

1.Geminiのスプレ関数を導入したいスプレッドシートを開き、メニューバーにある「拡張機能>Apps Script」を選択します。

2.Apps Scriptのエディタが開かれるので、左メニューにある「プロジェクトの設定」を選択します。

3.「プロジェクトの設定」画面をスクロールすると「スクリプトプロパティ」が表示されるので、以下のようにプロパティと値を追加します。

  • プロパティ:APIKEY
  • 値:(事前準備したGemini APIのキー)

4.再びエディタに戻り、表示されたmyFunctionのコードをすべて削除し、以下のカスタム関数「GEMINIPRO」のコードをコピペし、Ctrl +Sで保存します。

/**
 * GeminiProにリクエスト
 * @param {'質問文'} prompt GeminiProへのプロンプト
 * @customfunction
 */
function GEMINIPRO(prompt) {
  //スクリプトプロパティからAPIキーを取得
  const apiKey = PropertiesService.getScriptProperties().getProperty('APIKEY');
  //GeminiのAPIのエンドポイントURLを設定
  const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=${apiKey}`;
  //プロンプトに加え、Gemini APIリクエストに必要なペイロードを設定
  const payload = {
    "contents": [
      {"role": "user","parts": { "text": prompt }}
    ],
  };
  //payloadやHTTP通信種別、認証情報をoptionで設定
  const options = {
    'payload': JSON.stringify(payload),
    'method' : 'POST',
    'muteHttpExceptions': true,
    'contentType':'application/json'
  };
  //Gemini APIにAPIリクエストを送り、結果を変数に格納
  const response = JSON.parse(UrlFetchApp.fetch(apiUrl, options).getContentText()); 
  return response.candidates[0].content.parts[0].text; 
}

以上の4StepでスプレッドシートのGemini Proと対話するカスタム関数のセットアップが完了です。

スプレッドシートのセルから「GEMINIPRO関数」が利用できるようになります。

スプレッドシート関数のようにGeminiと対話

スプレッドシートにGEMINIPRO関数が導入できたら、実際にGemini Proにプロンプトを送って応答を得てみます。

通常のスプレッドシートの関数と同じように、「=」を入力し、GEMINIと打ち込むと、GEMINIPRO関数がサジェストされます。

GEMINIPRO関数は引数にGemini Proに投稿するプロンプトを指定します。

日本一大きい湖をGemini Proに質問したところ、「琵琶湖」と正しく回答してくれました。

こうした単語レベルの回答だけではなく、GEMINIPRO関数は長文応答も取得できます。

生成AIの業務改善事例について尋ねると、6つの事例を教えてくれました。

このようにカスタム関数として自作したGEMINIPRO関数を使えば、スプレッドシート上で気軽にGemniProとの対話ができます。

Gemini Proを使うためにBardの画面にわざわざ遷移しなくてもいいので、スプレッドシートで作業中に質問するといった使い方も可能です。

まとめ・終わりに

今回、スプレッドシートでGemini Proとのチャットができるカスタム関数の設定手順を紹介しました。

Googleの肝いりである次世代AIのGeminiはAPIが公開されており、Google Apps Scriptでスプレッドシートと連携可能です。

スプレッドシートのカスタム関数として、プロンプトを引数にするとGemini Proからの応答が得られるGEMINIPRO関数が使えます。

Gemini APIのAPIキーさえ用意すれば誰でもコードをコピペするだけで簡単に導入できます。

今ならGemini APIが期間限定で無料なので、ぜひスプレッドシートからもGeminiを活用してみてください。