1月から毎週の稼働表スプレッドシートの更新を担当していますが、更新を忘れておりました。今後はこのようなミスがないよう注意しますが、体調不良で稼働不能になる事態や忘れてしまう可能性を完全に排除できるわけではありません。そのため、作業を自動化することにしましたが、マクロに関する知識がまったくない状態でした。そこで、先月から利用しているChat GPTの有料版を活用してみることにしました。想定以上に時間がかかりましたが、その過程で得た教訓を共有します。
まず、通常行う更新作業の手順を整理し、以下のプロンプトを作成しました。
1最も左にあるシートのコピーを作成する。
2新しく作成したシートを最も左に移動する。
3シート名の日付を1週間後に更新する。(例:2024.3.18→2024.3.25)
4更新された日付から5日以内の祝日の数×8をC4に入力する。
5「マーケ実績」のシートを左から2番目に移動する。
この作業を毎週金曜日の18時に実行するよう指示しました。
以下の画像に示されているのは、Chat GPTによって作成されたコードです。
コードが書かれていましたが、必要なリストや機能が不足しているため、全ての要求に対応していませんでした。要点は以下の通りです。
・祝日を判定する機能が欠けているため、祝日データのリストが必要
・毎週金曜日の18時にマクロを実行するためには、カレンダーアプリとの連携など、別途複雑な設定が必要
これを受けて、祝日のリストを作成し、別のシートに記載して参照できるようにしました。しかし、祝日がある週のシートに「0H」と表示されるべきところが「8H」と表示されてしまうなど、思うように機能しませんでした。Chat GPTに何度も修正を依頼しましたが、状況は変わりませんでした。落ち着いて全体を見直すと、祝日の判定期間が1週間ずれていることに気づきました。この問題を修正したところ、うまくいきました。この過程から、要求を正確に伝えることの重要性を学びました。
その後、連携に関する具体的な指示を求めて試みましたが、うまくいかない場合は、工程を細分化して、どこでエラーが起きているか、エラーの箇所や原因を特定することが有効であることがわかりました。Chat GPTだけに頼らず、インターネットで類似の事例を調査し、解決策を見つけ出すことができました。
また、スプレッドシートにマクロを組み込む試みはうまくいかないようでしたが、スプレッドシート自体でマクロが作成できることを発見し、問題を解決できました。最初にやりたいことが実現可能かどうかを確認すること、そして、日付のデータ形式の統一やシートの特定方法など、マクロを動かすために必要な知識を多く学びました。
この経験から得た教訓は、Chat GPTだけでなく人間に要求する際にも共通するものであり、今後の業務に活かしていきたいと思います。