見出し画像

【Excelマクロ】AIに、画面を見せるだけでVBAを自動生成できる!Gemini 1.5 Pro

今回は、動画を理解するAI「Gemini 1.5Pro」を使って、Excelマクロを自動作成してみた検証結果についてお話しします。

AIの力を借りれば、プログラミングの知識がなくても、Excelの操作を自動化できるようになります。特に、Geminiのように動画から内容を理解できるAIを活用すれば、画面操作を録画した動画を見せるだけで、自動でマクロを作ってもらえる可能性があります。

本編では、実際にGeminiを使ってExcelマクロを作成した実験の結果をもとに、動画理解AIを活用したExcelマクロ自動化の可能性と注意点について解説します。ぜひ最後までお付き合いください。

【要点】
動画を理解するAI「Gemini」を使ったExcelマクロ自動化の方法とは?
・Geminiに動画を丸投げしてもうまくいかない?適切な命令文の出し方
・Geminiに要件定義をさせる際の注意点は何か
・動画を理解するAIにより、VBAコーディングを自動化できる時代がくる?

以下のVoicyの音声を文字起こししたものをAIで記事化したものです。

第1章 AIでExcelマクロVBAを自動生成する時代の到来

今回は、AIを活用してExcelマクロVBAを自動生成する実験について、お話ししたいと思います。

最近、GoogleのAI「Gemini 1.5Pro」が動画を解析し、その内容を理解できるという話題になっています。これを利用して、Excelの操作画面を見せながら音声で指示をするだけで、マクロのコードを自動生成できないかと考え、実際に試してみることにしました。

従来、マクロのコードを作成するには、VBAというプログラミング言語を使って文章で命令を与える必要がありました。しかし、この方法だと要件をすべて文章化しなければならず、非常に手間がかかります。もしAIが動画を解析し、音声による指示を理解してコードを生成できれば、マクロ作成がとても簡単になるのではないでしょうか。

第2章 自動車の燃費記録を適切な形に自動成形するマクロ開発

実験に用いたデータ

今回のマクロ開発のテーマは、自動車の燃費記録データを分析に適した形に自動で成形することです。

私は毎回ガソリンを給油するたびに、日付、累積走行距離、給油量、給油金額などを記録していました。以前はiPhoneアプリで管理していましたが、データをExcelに移行できないという問題がありました。そこで、アプリの画面をスクリーンショットし、ChatGPTに文字起こしさせてデータ化していました。

ところが、このデータには問題がありました。1つの列に複数の種類のデータが混在しているのです。

例えば、B列には累積走行距離と前回からの増加距離の両方が入っており、D列には給油金額と給油量が一緒に記載されています。データ分析の原則として、1つの列には1種類のデータのみを入れるべきなので、これらを分割して別の列に振り分ける必要があるのです。


第3章 動画でマクロ作成を依頼する方法とその結果

最初に試したのは、動画で要件を説明し、それに従ってマクロを作ってもらう方法です。しかし、結果は芳しくありませんでした。Gemini 1.5Proが生成したコードは、まるでExcelの操作を記録したマクロのように、非効率で無理のある内容でした。

つまり、単に動画を渡すだけでは不十分で、AIにどのように動画を解釈し、コードを組み立ててほしいのかを、もっと丁寧に説明する必要があるということです。

第4章 動画を文字起こしし、その内容でコーディングする方法

次に試したのは、動画の音声を文字起こ しし、その内容をもとにコードを書いてもらう方法です。

具体的には、以下のような命令を与えました。 「Excelマクロを作成する依頼の動画を全て文字起こししてください。次に上記の文字起こし通りのVBAをコーディングしてください。コードは最後まで完結するように出力。

Gemini 1.5Proは動画の音声を文字起こしできるので、私が説明している内容を理解し、そこから必要な情報を抽出してコードを生成してくれるはずです。

結果は、前回よりもかなりマシなコードが出来上がりました。完璧とは言えませんでしたが、Geminiとのやり取りを通して、エラーを修正したり機能を改善したりしていけば、実用的なマクロの完成も見えてきます。

第5章 要件定義を行い、その要件に基づきコーディングする方法

最後に試したのは、まず動画から要件定義を行い、その要件をもとにコードを書いてもらう方法です。

この動画ではExcelマクロを作って欲しい要件を説明しています。動画から要望を完全に理解し、要件定義を行ってください。要件を詳細に書き出すこと。その後、要件を満たすVBAコードを書いてください。」というように、手順を詳しく指示しました。

この方法が一番良い結果を出しましたが、要件定義の段階でいくつか間違いがありました。例えば、具体的な数値をそのまま要件に書いてしまったり、列の挿入位置を間違えたりしていました。しかし、これらは要件を確認しながら修正していけば解決できる問題です。

大切なのは、AI側が要件を明確に理解し、それを文章化してくれるということです。これにより、マクロ開発の際のコミュニケーションが格段にスムーズになるでしょう。

第6章 まとめ

今回の実験で分かったのは、いくら高性能なAIでも動画を丸投げしてマクロを作ってもらうのは難しいということです。

開発者とクライアントがコミュニケーションを取るように、AIに対しても動画の解釈方法やコーディングの手順をしっかりと伝える必要があります。特に、要件定義の段階でAIが自動的に文章化してくれるのは大きなメリットだと感じました。

ただし、AIが生成したコードを鵜呑みにせず、しっかりとチェックし、必要に応じて修正を加えていく作業は欠かせません。

今後、こうした技術がさらに発展していけば、プログラミングの知識がなくてもマクロ開発ができるようになるかもしれません。しかし同時に、AIを適切に利用し、品質を管理するスキルが重要になるでしょう。

皆さんも、ぜひAIを活用したマクロ開発に挑戦してみてください。

字幕付きのYouTubeで見ることもできます。


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