土日だけが特別?エクセルの週末奮闘記
みなさん、Excelでの作業、やってますか?特にVBAを使って自動化をしたことがある人なら、わかると思うんですが、Excelって意外と感情があるように見える時がありませんか?今回ご紹介するのは、そんな土日だけ特別扱いしてほしいと願うエクセルの奮闘記です。
始まるExcel業務物語
物語は「日付作成」タブから始まります。ここに並ぶ日付たちは毎日真面目に並んでいます。普通の月曜から金曜までは淡々と黒い文字で「今日も仕事だ」と列に並んでいます。でも、土曜日と日曜日だけは違います!彼らは「おお!今日は特別な日だ!」と光り輝き、エクセルは彼らを緑色に塗りたくって祝福するんです。
ほら、土日ってちょっと特別じゃないですか?オフィスに行かなくていい日、パジャマで昼までゴロゴロできる日。エクセルだってそれを分かっているから、彼らをしっかり区別してあげるのです。「あなたは特別なんだよ!」と。
ところが、エクセルにはちょっとした問題がありました。「日付作成」タブだけが特別扱いされては、ほかのタブたちは黙っていません。「なんであいつらだけ緑色なんだ?僕らも土日を祝いたいんだ!」とエクセル全体がざわつく始末。
そこで、我らがVBAが登場します!「わかった、わかった。みんなも土日を祝いたいんだな?」と、全てのタブに同じ土日の塗りつぶしを伝えることで、平等に緑色をプレゼントすることにしたのです。これで、日付作成タブ以外の全てのシートもみんなハッピー。みんな一緒に緑色で週末を楽しむことができるようになったのです。
でも、それだけでは終わりません。祝日リスト以外の全てのタブのセルは「おお、週末が終わったからまた平日が来たぞ!」ということで、きれいに白色に塗り直されます。このプロセスはまるでエクセル全体が「月曜が来たぞ、さあみんなリセットだ!」と再スタートの合図をしているかのようです。
そして、最後にはお決まりの「終了しました」のメッセージ。エクセルは一仕事を終えて、「ほら、やったよ!頑張ったよ!」とユーザーに知らせるんです。この瞬間、エクセルがまるで「僕って偉いでしょ?」とちょっと誇らしげに見えるんですよね。
実際のところは
…上の文章はExcelの"日付作成"タブの土日の日付セルを条件式で緑色に塗りつぶし、それ以外のタブ(数十ある)の日付のセルにも土日塗りつぶして分かりやすくしたい、という業務要望を面白おかしくAIに書いてもらった記事になります。なんかもう文才ありますな。。。
今回のVBA作成はGPTで新たに実装されたGPT canvasを使って記述してみました。
使い方
簡単でChat GPTのモデルの項目から "GPT-4o with canvas"を選択するだけです。
あとは最初にエモーショナルプロンプトを入れて、必要な情報を入力。
エモーショナルプロンプトとは、いわゆる誉め言葉です。パフォーマンス、正確性、情報量が大幅に向上し、標準的なベンチマークでは平均で8%、特に「BIG-Bench」というテストでは115%の向上が確認されたというから侮れません。
ExcelVBAをAIで作成する際は、論理的に取得したい値の情報を正確に指示し、具体的に実現したいことを明確に日本語で書き出すだけです。
また全て処理するより、関数を使ってできる部分があればそこは関数に任せる。一気に全ての条件を踏まえたコードをかかせるより、条件を一つ一つクリアさせていく方が効果的、というのも自分の体験上分かってきました。
次回はどんなエクセルの小さな冒険が待っているのでしょうか?どうぞお楽しみに!