見出し画像

【Google Workspace利活用】GAS✖️ChatGPTでウェブ会議の参加者名の変更を省力化


1 ウェブ会議の参加者の名前変更の問題

今回は、ウェブ会議時の参加者名前の変更作業を省力化する取り組みについてご紹介します。

多人数が参加するウェブ会議では、参加者の名前を分かりやすくするためのルールを設けることが多いですよね。
例えば「役職_氏名」といった具合です。

ただ、ルールを告知しても自分で変更してくれる方がいる一方、変更できない方もいらっしゃいます。
そうすると主催者側で手作業で変更する必要があり、時間がかかり非効率的です。参加者からの見栄えも良くないですよね。

コピペするだけで良いものを自動で作れたら、、、

2 省力化に挑戦!Google Apps Scriptで効率化

そこで、この作業を省力化することにチャレンジしてみました。

参加者情報はGoogleフォームで収集し、スプレッドシートに紐づいていますので、これを活用することにしました。

具体的には、
・元となるスプレッドシートの特定の列(H列:ステイタス、B列:氏名、E列:仕事)から情報を取得し、
・別のシートに「H列/B列/E列」の形式で自動出力する
ように設定しました。

気になったのは、
・取得したい情報のある列がアルファベット順ではない+隣り合わせの列ではない
・複数のセルにある情報を1つのセルに「H列/B列/E列」という形式でまとめる
・H列の情報はそのまま抜き出すのではなく略称の表記にする
という点がうまくできるかという点です。

以前、別のタスクで、Google Apps Script(GAS)で効率化できたケースがありましたので、今回のタスクもGASでなんとかなるのではないかと考えました。

GASとは?

Google Apps Script(GAS)は、Googleが提供するスクリプトサービスです。
プログラミング言語のJavaScriptを使って、Googleドライブ内のスプレッドシート、ドキュメント、スライドなどの各種ファイルを自動操作できるようになります。

例えば、スプレッドシートの場合、データの入力ルール違反をチェックしたり、定型作業を自動化したり、データを別のファイルにコピーしたりできます。まるでスプレッドシートに頭脳が備わったかのように、人の手を借りずに処理を行ってくれます

GASは手軽に使えるのが特徴で、Googleドライブ上でスクリプトを記述でき、トリガーを設定すれば自動実行も可能です。JavaScriptが分からなくてもサンプルコードから書き換えられますし、ChatGPTなどのAIにスクリプト生成を依頼することもできます

会社でもGASを活用すれば、業務の自動化や効率化が図れそうです。
例えば勤怠管理の自動化、営業報告書の自動作成、データ加工の効率化などに役立ちそうですね。プログラミングに詳しくなくても、GASなら気軽に挑戦できます。
(と生成AIが言っています。)

3 ChatGPTに聞いてみよう!

さて、前回のタスク同様、まずは、GASを使ってとは指定しないで、ChatGPTに方法を聞いてみました。

そのプロンプトは以下の通りです。今回は、前回よりタスクが複雑なので少し工夫をしてみました。

# 命令書
スプレッドシートの別々のセルに、氏名、仕事、ステイタスが入力されています。
これらの情報を抜き出して、以下の制約条件に従って別のシートに自動入力されるようにする方法を教えてください。

## 制約条件
・ステイタスがゲストの場合:「G/氏名/仕事」と自動入力されるようにする。
・ステイタスが代理の場合:「代/氏名/仕事」と自動入力されるようにする。
・「G/氏名/仕事」、「代/氏名/仕事」は、1つのセルに入力されるようにする。
・氏名には、「氏名」の列に記載されている文字が入る。
・仕事には、「仕事」に記載されている文字が入る。

## 参考例
元のスプレッドシートの情報が以下のものの場合、「G/テスト太郎/弁護士」を別のシートのセルに入力する。
氏名:テスト太郎
仕事:弁護士
ステイタス:ゲスト

すると、ChatGPTは、GASでできるとして、手順を教えてくれました。

スプレッドシートで指定された条件に従ってデータを自動入力するには、Google スプレッドシートの「Google Apps Script」を使用する方法があります。以下に、あなたが求める機能を実装するためのスクリプトを示します。このスクリプトは、あるシート(「元のデータ」シートと仮定)から氏名、専門分野、ステイタスのデータを読み取り、別のシート(「結果」シートと仮定)に指定されたフォーマットでデータを自動入力します。

ステップ 1: Google Apps Script を開くGoogle スプレッドシートを開きます。
メニューから「拡張機能」>「Apps Script」を選択します。

ステップ 2: スクリプトを書く
Apps Script のエディタに以下のスクリプトをコピー&ペーストします。
[スクリプト(省略)]

ステップ 3: スクリプトを実行Apps Script エディタで上記スクリプトを保存します。
実行ボタン(▶︎アイコン)をクリックしてスクリプトを実行します。

ステップ 4: 必要な場合はトリガーを設定

自動でこのスクリプトが定期的に実行されるようにしたい場合は、トリガーを設定できます。Apps Script エディタの「トリガー」画面を開きます。
「トリガーを追加」をクリックし、必要なトリガー条件を設定します。

このスクリプトと手順に従って、指定された条件に基づいてスプレッドシートのデータを自動的に別のシートに入力することができます。

ChatGPTの出力結果

⑴ 列を指定してスクリプトの再作成依頼

これでも良さそうですが、どの列に欲しい情報があるかを伝えていませんでした

そこで、どの列に欲しい情報があるかを伝えて、スクリプトを書き直してもらいました。
プロンプトはもう工夫なしにしました。

元のデータシートのB列に氏名が、E列に仕事が、H列にステイタスがあります。
それぞれ2行目以下に入力されています。

この場合のスクリプトを教えてください。

これを早速手順に従って設定しました。
スプレッドシートを編集したら実行されるようにトリガーを設定しました。

すると、見事、元のデータのシートから、結果のデータのシートに、「H列/B列/E列」の形式で出力されました。

⑵ 元データを編集と連動するように修正

これでよしと思いきや、次のミーティングの準備のために、元データのシートの情報を削除したところ、結果のデータのシートは何も変わりませんでした
最初の出力結果が残ったままだったのです。

ここは、元データのシートを編集すると、結果のシートが完全に連動することが望ましいです。

そこで、再度ChatGPTに相談です。

以下のプロンプトを入力すると、新しいスクリプトを書いてくれました。
またしてもプロンプトに工夫なしです。

元のデータは、フィルター関数でさらに別のシートからデータを引用しています。
このフィルター関数のフィルターを変更して来週の分を表示するようにしましたが、データ引用元に該当データがなく、元のデータは空欄状態です。
このとき、結果シートが前のデータに基づいて作成されたままです。
元データのシートが空欄になったのだから、空欄になるなどしません。
両者を完全に連動するようにするためにはどうしたらいいですか?

元のデータシートが空欄の場合に結果シートも自動的に空欄に更新するようにするには、スクリプトに結果シートのデータをクリアする処理を追加する必要があります。スクリプトの最初に結果シートのデータをクリアするコードを追加して、その後で条件に合致するデータのみを結果シートに再入力するようにします。以下にそのためのスクリプトの例を示します。
[スクリプト(省略)]
このスクリプトは、元のデータシートの内容に基づいて結果シートを更新する前に、まず結果シートの内容をクリアします。
このため、元のデータシートが空欄の場合、結果シートも空欄になります。
また、元のデータシートからデータを取得する際に空の行が含まれる可能性があるため、name !== "" && field !== "" のチェックを追加して、氏名と専門分野が空でないレコードのみを処理するようにしています。

このスクリプトを使用すると、元のデータシートと結果シートが完全に連動し、常に最新の情報が反映されるようになります。

ChatGPTの出力結果

新しいスクリプトをGASにコピペして、トリガーの設定を確認します。

元データのシートを編集してみると、結果のデータのシートに見事に反映されました。

最初はシンプルな出力でしたが、要件を満たすよう2回にわたりChatGPTに相談し、スクリプトを改善
結果的に、大した手間をかけることなく、元データを編集すると連動して出力が更新されるよう実現できました。

4 自動化で業務効率が大幅に向上!

この取り組みにより、ウェブ会議時の参加者名前変更作業は、従来の手入力に比べて格段に効率化されました。
コピー&ペーストするだけで、確実かつ正確に名前を変更できるようになりました。

また、GASの具体的な活用例を増やすこともでき、今後の業務の効率化に生かせそうです。

5 ポイント:ChatGPTを上手に利用する

今回のように、作業の自動化を検討する際は、ChatGPTなどの生成AIに相談してみると良いでしょう。
最初からスクリプトを書けなくても大丈夫です。
要件を具体的に説明し、アドバイスを求めることで、段階を踏んで自動化に近づけます。

効率的な業務運営には、ITを活用することが欠かせません。
まずは身の回りの小さな業務から、自動化の糸口を見つけてみてはいかがでしょうか。

*本noteは生成AIの支援を受けて作成しました。

この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?