ChatGPTに触れる機会があり、ソースコードを自動的に作成してくれることがわかったので普段から業務で使用しているエクセルで何かマクロを作れないかと思い、周りのメンバーにパソコンの作業で困っている事がないかヒアリングしてみたとろ1年に5~6回出力する従業員のプロフィールシートの印刷が非常に手間!半日以上かかる!という声があったので何とか出来ないか試してみました!
結果、6~7時間の作業が10分程度に! マクロの作成自体もテストを兼ねて1時間ほど・・・恐るべしChatGPT。今までの作業は何だったんだ・・・と思った今日のこの頃です。
実際に作成した内容をご紹介します!
元々やっていた作業の流れ
元々は下記図のような流れで転記シートに大元のデーターシートよりvlookup関数で情報を引っ張ってきて印刷シートから印刷をしていました。転記シートに36行づつ店舗別に割り振られた番号を入力して1枚づつ印刷をしていました。従業員の数が4000名以上あり、店舗ごとに出力するため200回近い印刷作業を1年に5~6回実施していました。
使用したツールと命令文(お願い?懇願文?)
今回はChatGPTを利用して次のような命令文でソースコードを作成してもらいました。
ChatGPTを選んだのは最近知る機会があったのと、その勇名は素人の私でも聞いたことがあったからです。
「このエクセルにはシートが3つある。①は印刷シート、②は印刷シートの元のシート、③はさらにその元となる膨大な一覧表。①を次の条件で連続印刷するマクロを作って下さい。①に印字するためには②の印刷シートのA列に数値を32個入れる必要があります。(32に満たないときはあるだけ印刷して終了します)その32個の数値は③のシートのA列より抽出します。抽出条件はシート③のC列に事業部があり、これをユーザーに選択させ同じ事業部のA列の数値だけを記録しシート②に32個づつ順番に記入していき、シート①を印刷します。そんな感じでお願いします。」
というような命令文でソースコードを作成してもらいました。
マクロでの処理手順
事業部単位で印刷出来るようなマクロが完成。完成したマクロの処理の流れとしては
①トリガーとなる文字列(事業部名を選択式で選ぶ)。
②大元の従業員データーより事業部の名称が一致する行の行に割り振った数値を収集する。
③収集したデーターを36件単位に区切る。
④転記シートに36件づつ入力して都度印刷を実行する。
というような流れの処理をしています。
何回か印刷テストをして問題がなかったので、メンバーに渡して使ってもらうことに!
Yさん「印刷は凄く楽になったけど、事業部内の店舗の配列が異なっている時があるから店舗別にビシッと並んでたらより良いと思うよ」というフィードバックをいただいたので元のデーターを店舗別にソートと行番号を割り振るマクロを別途作成。メンバーのリクエストにも何とか応えることが出来ました。当初作業は店舗名などを確認しながら実施していたため6~7時間の大がかりな作業でしたが、このマクロを利用するれば印刷実行は事業部の数である7回だけ。今まで1回の印刷で6~7時間かかっていた作業時間が10分程度に!年間で30時間~40時間の作業削減になりました!使ってくれたメンバーからも「今までの作業はなんだったんだ」という声が聞かれました。
感想
今回は事業部別で印刷するマクロになっていますが、やり方によっては店舗別や他の属性をトリガーとした印刷もChatGPTにお願いしたらすぐに修正コードを作ってくれるので応用の幅が広がると思います。目指せ残業0時間!早く家に帰ってご飯食べよう!をスローガンに他のメンバーの手間になっている作業も軽減していきたいと思います。元々マクロの作成ができない自分としては生成AIは夢のようなツールです!