ChatGPT-4で応募者を公平に選出できる仕組みを作ってみた!簡単に業務効率化できる! (複製)

ChatGPT-4で応募者を公平に選出できる仕組み(GAS:Google Apps Script)を作ってみた!
今回は、Googleフォームでイベントの申込み → 10名を抽選 → 抽選に当たった人と外れた人にメール作成する仕組みを作りました。GhatGPTを使えば簡単に業務効率化できるシステムを作れますね。

動画説明:ChatGPT-4で応募者を公平に選出できる仕組みの作り方

ChatGPT-4で作った応募者を公平に選出できるGAS(Google Apps Script)

 

function sendEmails() {

  // スプレッドシートを取得

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // 最終行の番号を取得

  const lastRow = sheet.getLastRow();

  // A列からD列までのデータを取得

  const data = sheet.getRange(2, 1, lastRow – 1, 4).getValues();

  // 抽選で選ばれた人を格納する配列

  const selected = [];

 

  // 申込者が10人以上の場合

  if (data.length >= 10) {

    // 10名選ばれるまでループ

    while (selected.length < 10) {

      // 乱数でインデックスを選ぶ

      const index = Math.floor(Math.random() * data.length);

      // すでに選ばれていなければ、selectedに追加

      if (!selected.includes(index)) {

        selected.push(index);

      }

    }

  } else {

    // 申込者が10人未満の場合、全員を選ぶ

    for (let i = 0; i < data.length; i++) {

      selected.push(i);

    }

  }

 

  // 各行のデータに対して処理を実行

  data.forEach((row, index) => {

    // 選ばれた人の場合

    if (selected.includes(index)) {

      // D列にYESを書き込む

      sheet.getRange(index + 2, 4).setValue(‘YES’);

      // 当選者にメールを送る

      createDraft(row[1], row[2], true);

    } else {

      // D列にNOを書き込む

      sheet.getRange(index + 2, 4).setValue(‘NO’);

      // 落選者にメールを送る

      createDraft(row[1], row[2], false);

    }

  });

}

 

function createDraft(email, name, isAccepted) {

  // メールの件名

  const subject = ‘イベントについて’;

  // メール本文を作成(当選者と落選者で異なる文面)

  const body = isAccepted

    ? `${name}様、抽選の結果、イベントに参加できます`

    : `${name}様、抽選の結果、イベントに参加できません`;

 

  // メールの下書きを作成

  GmailApp.createDraft(email, subject, body);

}

ChatGPT-4とは?

人工知能(AI)の一種で、大きなコンピュータープログラムです。このプログラムは、文章を読んで理解し、そして人間のように会話をすることができます。学習するためにたくさんの文章を読んで、言葉や文法を覚えていますので、質問に答えたり、アドバイスをしたりすることができます。

GAS(Google Apps Script)とは?

Googleのサービスをもっと使いやすくするためのJavaScriptベースの言語です。GASを使うとGoogleのサービス(例えば、ドキュメントやスプレッドシート)に自動で動く機能を追加したり、独自のアプリケーションを作ったりできます。