見出し画像

【GAS】Google Apps Script 活用事例 Chat GPTと組み合わせて業務効率化を実現する

週2(水木)10-19(休憩1時間)
週3日10-19
※未定※週3日(月火水)10-19(休憩1時間)
※未確定・希望日数:週5日

ぐちゃぐちゃ過ぎるだろ.....。

アルバイトのシフト希望表のようなフリーフォーマットの中から規則性を見出し、整理するという業務を依頼されました。

一度はGASでやろうとしたものの、ひょっとしたらChat GPTの方が上手く出来るかもなぁーと思って依頼したところ想像以上でした。

チャットの履歴

上記のように、フリーフォーマットで記載されたシフト希望表があります。下記のフォーマットを参照にして、表を作成してください。

・希望日数:週●日
・希望勤務曜日:●曜日、●曜日、●曜日
・希望時間:10:00~19:00(休憩あり●時間)

プロンプトの参考例

表を作成してください。で終わるプロンプトを投げると、スプレッドシートにそのままコピペ可能な形式で出力してくれます。

す、すげぇー!!
アウトプットのイメージ

紆余曲折を省略しますが、ここから一つのセルにまとめたかったのですが、プロンプト経由では出来ませんでした。
このラストワンマイル、痒い所に手が届かない部分をGASで片付ける事にしました。

コードサンプル

function combineColumnToSingleCell(){
  const sheet  = SpreadsheetApp.getActiveSheet();
  const values = sheet.getDataRange().getValues();
  console.log(values);

  const header    = values.shift();
  const newValues = values.map(row => {
    const newRow   = row.reduce((acc, value, index) => {
      acc += `${header[index]}:${value}\n`;
      index += 1;
      return acc;
    }, '');
    return [newRow];
  });

  console.log(newValues);
  return newValues
}
ログの出力結果

僕自身はreduceメソッドがどうも苦手で、Chat GPTにリファクタリングしてもらいました。

このラストワンマイル、痒い所に手が届かない部分をGASで

AIに自分の仕事が代替されてしまうのでは?という恐怖や危機感を持って仕事をしています。
GASを書けても意味はないのか?と自問自答したこともあるります。

Chat GPTに限らずAIを使って生産性を上げつつ、痒い所をRPAやGAS含め、専門的な手段を使ってアウトプットを完成させる。向こう5年から10年は、こういうスタイルで仕事していくことになるのかなと思いました。

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

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