9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「いま、どれくらい?」アンケートのリプライ状況をタイムリーに知る方法を#ChatGTPに聞いてみた

Last updated at Posted at 2024-05-09

アンケートの回答状況をお知らせしてもらえると嬉しい.png

:beginner:アンケートを発信したけど、回答の進捗が気になりますよね。

今回は、発信と回収の状況をタイムリーに知りたいと思いトライしてみました。
なぜかというと、上司によく聞かれるんです。「いま、どのくらい?」って:thinking:
質問への反応は気になるところで、場合によっては反応の早さで興味の度合いが見て取れたりします。
手元のデバイスからデータを焦って引っ張り出したりすることなく、スマートに答えられたら、カッコイイではないですか。
自分からサッと報告することで、評価アップも期待したりして:laughing:
そんな、「不埒な気持ち」とともに「進捗管理は基本中の基本」なので、ChatGTPにお願いしてみました。

使用ツール

  1. Google From
  2. Google Spread Sheet
  3. Gmail
  4. Google Apps Script

この3つをGASを使って連携させ、配信から回答回収・進捗通知までを組むことにしました。

まずは、ChatGTPに聞いてみることにしました。

アンケートメールGoogle Formの自動配信設定を3名に想定し、プロトタイプを作ることにしました。GoogleForm でシンプルなアンケートを作成しました。
スクリーンショット (27).png

ここでChatGTPの登場です。

スクリーンショット (14).png

とほほ:laughing:、「リンクを貼ってメールする」という、いつもやってることでした。
プロトタイプからバージョンアップさせ、300通まで増やしていきたいと思っているので、これでは、ダメです。
言葉が足りなかったようです。:disappointed_relieved:

GASを使って一斉配信を組みたいので、更に質問です。
スクリーンショット (15).png

やりたいことを理解してもらったようで、スクリプトを教えてもらえました。
スクリーンショット (16).png

これで、一斉配信は出来そうです。実行を押して、成功‼
スクリーンショット 2024-05-07 16.59.21.jpeg

つぎのパートは、配信したアンケートに対して、リプライを数を配信者のメールへタイムリーに送る設定です。

Google Formの回答は、spreadsheetにまとめられるので、このまとめられたspreadsheetを活用して、回答件数を収集できると思いました。

スクリーンショット (17).png

スクリーンショット (18).png

手順に従って、作成しました。

スクリーンショット 2024-05-07 18.03.46.jpeg

おおよそイメージしていた返答がかえってきました。素っ気ない返事ですが、script内のemailBody='回答数'にコメントを足せば、改善が出来ると思います。

あれあれ:sweat:、何件アンケートを送ったかわからないと、回答数が多いのか、少ないのか、完了したのかがわからないではないですか:sweat_drops:

個別の回答数がわかるともっと良いので、修正をChatGTPにお願いしました。

// 発信件数を取得するためのスプレッドシートを開く
var emailSheet = SpreadsheetApp.openById('1aM1ppYBgJxhElybATdm4SHNkfAKZ1-r_UlrL8kdEc1o');
var emailDataRange = emailSheet.getSheetByName('test1').getDataRange();
var emailSentCount = emailDataRange.getValues().filter(row => row.some(cell => (typeof cell === 'string' && cell.trim() !== '') || typeof cell === 'number')).length;

// 集計結果を取得
var sheet = SpreadsheetApp.openById('1nYOFFxdPpS175UnnbJwrihpg2w2oZpjcLVA2X0Ks84M');
var summarySheet = sheet.getSheetByName('test3');
if (summarySheet) {
  var summaryValues = summarySheet.getRange('B1:B3').getValues();

  // メールを作成
  var emailAddress = 'gonchichi21@gmail.com';
  var emailSubject = '回答状況のお知らせ';
  var emailBody = '発信件数: ' + emailSentCount + '件\n' +
                  '回答数: ' + responseCount + '件\n' +
                  '・元気いっぱいです: ' + summaryValues[0][0] + '\n' +
                  '・ふつうです: ' + summaryValues[1][0] + '\n' +
                  '・ちょっとしんどいです: ' + summaryValues[2][0];

  // メールを送信
  MailApp.sendEmail(emailAddress, emailSubject, emailBody);
} else {
  throw new Error('指定されたシートが見つかりませんでした。');
}

リトライ:bangbang:
結果

94931 (1).jpg

ChatGTPで開発時間の削減はできたか

GASに詳しくない自分でも、何とか作ることは出来ました。
が、そもそも、scriptを読めないので、何が間違っているかをChatGTPに何回も聴きました。エラーコードをそのまま貼りつけて、質問したりすること、その数50回~60回。
きっと、慣れてくればサクッと出来るのでしょう:sweat:

言葉足らずだとダメでした😓

なんとなくのイメージでザックリ質問してもいい答えは返ってこないし、言葉が足りないと、ズレた回答が戻ってきます。まずは、頭の中を整理して、細かく伝えないとならないと実感しました。あらためて、伝えるって大事だなって思いましたし、自分の話を理解してもらっている周囲のメンバーに感謝です:bow_tone1:

ChatGTPにおねがいしたいこと

間違いやすいところに「注意してね。」とコメントして欲しい。「ここは、みんなよく間違えるから注意ポイントです」って
聴いたことには、一生懸命答えてくれて助かるけど、それ以外は・・・。
でも、上手くできたので「ありがとう」って伝えたら、喜んでくれました。

こんなに何回も聴いても一生懸命つきあってくれる安心感は替え難いですネ😀。

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?