• Fiveのブログ
  • ChatGPTを使って知識ゼロからExcelマクロを作成する

ChatGPTを使って知識ゼロからExcelマクロを作成する

ChatGPTを使って知識ゼロからExcelマクロを作成する

近年、会話型AI「ChatGPT」は急速に普及し、今では多くのビジネスシーンで活用されるツールとして定着しつつありますが、

  • 最初は試してみたものの、使いこなせずに利用しなくなった
  • 期待した回答が得られないため、自分で調べたほうが早いと感じた

という理由から、いつしか使用されなくなってしまった方も少なくありません。

プロンプト(AIへの指示文)の最適な書き方に関する情報はインターネット上に数多くありますが、今回はその中でも、私が日常業務の中で実際に行っている活用方法をご紹介します。

なお、ChatGPTへの指示方法は、株式会社noteの深津貴之氏が提唱する「深津式プロンプト」が特にわかりやすく、私自身も日頃から参考にしています。

ご興味がある方は、こちらの解説動画もぜひご覧下さい。

レポート作成時短の為のVBA作成

当社では、日々作成するレポートをExcel形式で提出していますが、提出後に誤操作によって数値が変わってしまうリスクを避けるため、CSVデータから抽出した値や数式で算出した数値を「値貼り付け」によって固定する作業が発生します。
タブ数が少ないレポートであれば比較的簡易な作業で済み、ミスもほとんどありません。

しかし、複数媒体の配信レポートなどでタブ数が増えると、値貼り付けの漏れなどのヒューマンエラーが起こりやすくなります。
このような背景から、「この作業を自動化できないか」という課題意識が生まれ、そこでChatGPTを活用しました。

やりたい事と自分の知識量

  • Excelのマクロ/VBAを活用すれば自動化が可能であることは理解している
  • 具体的な作成手順やコードの書き方については全く把握していない状態

そのような状況下で、ChatGPTを活用しながらマクロの作成に取り組みました。

実際にやってみた

まずは、現在の業務フローと実現したい内容を、ChatGPTに伝えました。

ChatGPTからは以下の回答が得られました。

今回の質問内容には、マクロの作成手順や登録方法まで含めていませんでしたが、ChatGPTは意図を汲み取り、手順もあわせて提示してくれました。

実際にChatGPTが生成したコードは、以下のとおりです。

Sub 値のみ貼り付け()

    Dim ws As Worksheet
    Dim rng As Range

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    For Each ws In ThisWorkbook.Worksheets
        For Each rng In ws.UsedRange
            If rng.HasFormula Then
                rng.Value = rng.Value
            End If
        Next rng
    Next ws

    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True

End Sub

このコードを基に、実際のExcelレポート内へマクロを組み込み、動作検証を進めていきます。

例として「年齢別レポート」のタブでは、表示回数のセルにカーソルを合わせると、SUMIFS関数を用いてCSVデータから18~24歳の数値を集計する仕様になっています。

今回の目的は、この数式を自動で「値貼り付け」することです。
先ほどChatGPTが提示してくれた手順に沿ってマクロを作成していきます。

1.Excelを開き、Alt+F11キーを押してVBAエディタを開きます。
2.左側の「VBAProject」内にある「ThisWorkbook」をダブルクリックして開きます。
3.以下のコードを貼り付けます。

上記の3まで実施した状態が、下記の画像です。

ChatGPTの指示通りF5キーを押し、マクロを実行したところ対象セルの数式が問題なく数値へと置き換わりました。

その他の指標やタブについても、すべて数式が正しく値貼り付けに変換されており、今回ChatGPTが生成したコードは問題なく機能しました。

こちらの意図が正確に伝わらなかった場合や、ChatGPT側との認識にずれがある場合には思い通りにならないこともあります。
その意味では、一度で望む動作が実現できたのは運が良かったと言えるかもしれません。

動作自体は問題なかったものの、私自身のマクロに関する知識が十分でなかったため、追加で確認すべき事項も出てきました。

  • マクロの保存場所
  • 次回保存したマクロを実行する方法

この程度であれば自分で調べることも可能ですが、今回はそのままChatGPTに質問を続けました。

その際の回答が、以下の内容です。

2.以降の「ビュータブをクリック」という部分が少し分かりづらかったため、念のため自分でも確認を行いましたが、問題なくマクロを保存し、保存後のマクロも正常に実行できるようになりました。

終わりに

今回、ChatGPTで作成したマクロ自体は、マクロに慣れている方からすれば非常にシンプルな内容かもしれません。

Excelマクロの知識が全くない状態から短時間で作成でき、そのまま業務の効率化につながったことを考えると、今回の取り組みは大きな成果だったと感じています。

現在は、マクロ以外にも以下のような用途でChatGPTを活用しています。

  • 広告文作成の雛形作成(複数パターンを生成し、良い部分のみ抽出)
  • キャッチコピーや文章リライトの雛形作成
  • 希望条件を指定したうえでの複数単語の翻訳
  • 業界全体を俯瞰した情報整理・分析

現状のChatGPTでは、最終的な仕上げや微調整は人間の手を加えることが前提となりますが、

  • 汎用的なアウトプットが欲しい場合
  • まずは案だけ欲しい場合

という場面では非常に有効に活用できます。
日々のちょっとした雑務や作業を効率化したい時、AIが大きな助けになる可能性があります。

ぜひ、活用してみてください!

この記事を書いた人

この記事をSNSでシェア

  • X
  • Facebook
Five Blog編集部

Five Blog編集部

御茶ノ水でWeb広告全般の運用代行をしているFiveの編集部です! 実際の広告運用で得た知見を基に、Google広告やInstagram広告といった各媒体の最新情報やプロの運用担当が書いたノウハウを発信します。

無料相談

3分でFiveがわかる 資料ダウンロード