BizRobo! ブログRPA関連のお役立ち情報をお届けします
ChatGPTを使うとExcelでマクロを簡単に組めるため、あらゆる操作を手軽に自動化できます。通常、マクロにはVBAというプログラミング言語が必要です。しかしChatGPTを活用すれば、必要なコードを一瞬で生成できるため、プログラミングの知識は不要。
そこで本記事では、ChatGPTを活用したExcel自動化術を紹介します。Excelの設定方法やChatGPTへの指示の出し方、具体的なVBAコードも紹介。これまでマクロを組んだことがない人でも簡単にExcel操作を自動化できます。
データの取りまとめや地道な定型業務を負担に感じている人は、ぜひご覧ください。
目次
ChatGPTでExcel作業を自動化できる
ChatGPTは、「Generative Pretrained Transformer」と呼ばれる自然言語処理AIの一つです。チャットで会話するような形で、誰でも簡単に活用できます。
文章や画像などさまざまなコンテンツを生成できるChatGPTは、Excelの自動化にも役立ちます。
たとえばChatGPTに「Excelで特定のデータ抽出を自動化するにはどうすればよい?」と聞いてみましょう。
すると以下のとおり、フィルター機能や関数など複数の手法が出力されました。

最後には以下のとおり、それぞれの手法が表にまとまっています。

メリットとデメリットもまとめてくれているため、自分にはどの方法が合っているかも判断しやすいでしょう。
このようにChatGPTはExcel作業の効率化に便利です。なお「ChatGPT for Excel」というアドインを使えば、Excelの画面内で適宜ChatGPTに質問を投げかけられます。
なお本記事では自動化の方法として、Excelでマクロを組む方法について紹介します。マクロとはExcelに搭載されているプログラミング機能です。
VBAコードというプログラミング言語を用いて、Excelに特定の動作をプログラミングします。一度マクロを組んでしまえば、適宜実行ボタンを押すだけで作業が行える仕組みです。
本来ならプログラミングの知識が必要な作業ですが、ChatGPTの力を借りれば簡単に設定が完了します。
こんな業務に便利
ChatGPTを使ったExcelの自動化は、以下のような場合に便利です。
・大量のデータを整える
・特定のデータを抽出する
・指定の書式にデータを転記する
たとえばデータの整形も、手作業で行うには限度があります。データの抽出や転記も同様です。
ChatGPTのヒントを元にExcelを自動化すれば、地道な手作業からも解放されるでしょう。
ChatGPTでExcel作業を自動化する手順
ではここから具体的な自動化の方法を見ていきましょう。Excelの自動化は「関数」
や「フィルター機能」「ピボットテーブル」などさまざまあります。
なかでも今回は、VBAコードをChatGPTに出力させ、マクロを組む方法を紹介します。手順は大まかに、以下の5ステップです。
1. Excelの設定
2. ChatGPTにVBAコードを出力させる
3. Excelにコードを入力
4. テスト実行して適宜調整
5. 完了
①Excelの設定
まずはExcel側の設定を行います。ChatGPTに「Excelでマクロを組むにはどうすればよい?」と聞いてみたところ、設定方法が表示されました。

上記の手順どおり、Excelを操作します。まずはExcelを開き、「ファイル」、「オプション」の順に開きます。

「リボンのユーザー設定」を選択し、右側のリストから「開発」にチェックを入れ、「OK」を押します。

最後に右下の「OK」を押すと、Excelの上部に「開発」タブが表示されました。

これでExcelでマクロを組むための準備は完了です。
②ChatGPTにVBAコードを出力させる
では続いて、ChatGPTにVBAコードを出力させます。今回は例として「A列に今日の日付を入力するマクロのVBAコード」を尋ねました。
正しいVBAコードを出力させるには、「どこに」「何を」「どうしたいのか」を明確に指示するのがポイントです。
すると以下のとおり、コードが出力されます。コード右上にある「コピーする」をクリックし、コードをコピーしましょう。

③Excelにコードを入力
次にExcelを開き、「開発」タブの左側にある「Visual Basic」ボタンをクリックします。

すると以下のとおり、コードの入力画面が出てきます。

左側にある「コードの表示」ボタンをクリックするとコードのエディター画面が出てくるため、先ほどコピーしたコードをそのまま貼りつけましょう。

これでマクロが組めました。
④テスト実行して適宜調整
元のシートに戻り、マクロを実行したい箇所を選択しましょう。そして再度エディター画面に戻ります。

エディタ画面の上部にある「▶(実行)」ボタンを押します。すると以下のとおり、A列に本日の日付が自動入力されました。

実行内容を確認し、問題なければこれで完了です。もし内容に修正が必要なら、再度ChatGPTに指示を出して正しいコードを生成させましょう。

⑤完了・保存
これでChatGPTを活用したExcelの自動化が完了です。

エディター画面でなく上記のExcelシートからマクロを実行する場合は、ツールバー左側にある「マクロ」をクリックしましょう。
すると以下のとおりどのマクロを実行するか選択画面が表示されます。任意のマクロを選択し、「実行」をクリックすると、先ほどと同様に実行されます。

上記の画面から、マクロの編集や削除もできます。
またマクロを保存しておきたい場合は、Excelデータを保存する際に「Excelマクロ有効ブック(.xlsm)」の形式を選択しましょう。
通常の「.xlsx」形式では、マクロデータが消えてしまうため注意が必要です。
【例あり】ChatGPTでExcelを自動化しよう
ではここから、状況別に使えるExcel自動化術を紹介します。今回紹介するのは、Excel作業でよくある以下の作業に使えるマクロです。
・表記を統一するマクロ
・不要な文字列や空白を取り除くマクロ
・書式を整えるマクロ
・データを抽出・転記するマクロ
表記を統一するマクロ
まずはデータの表示名や記載方法が統一されていないときに使えるマクロを紹介します。たとえば以下のデータでは「性別」の表記がバラバラです。

これを「男性」に統一するマクロを組みます。以下のとおり、ChatGPTに聞いてみました。

コードが出力されたので、Excelの「開発」リボンからエディターを開き、コードを貼りつけます。

▼今回使用したVBAコード
Sub StandardizeGender() Dim rng As Range Dim cell As Range ' 選択範囲を対象にする Set rng = Selection ' 各セルの値を置換 For Each cell In rng If Not IsEmpty(cell.Value) Then Select Case LCase(cell.Value) ' 小文字変換で比較を統一 Case "男性", "male", "m", "♂" cell.Value = "男性" Case "女性", "female", "f", "♀" cell.Value = "女性" End Select End If Next cell MsgBox "性別表記の統一が完了しました!", vbInformationEnd Sub
ツールバーにある「実行」をクリックすると、以下のとおり性別表記が統一されました。

不要な文字列や空白を削除するマクロ
続いては、性別と名前の間にある半角や全角のスペースを削除するマクロを紹介します。

まずはChatGPTに聞いてみましょう。

コードが出力されたので、コピーしてExcelに貼りつけていきます。

▼今回使用したVBAコード
Sub RemoveExtraSpaces() Dim rng As Range Dim cell As Range ' 選択範囲を対象にする Set rng = Selection ' 各セルの不要なスペースを削除 For Each cell In rng If Not IsEmpty(cell.Value) Then ' 半角スペース削除 cell.Value = Replace(cell.Value, " ", "") ' 全角スペース削除 cell.Value = Replace(cell.Value, " ", "") End If Next cell MsgBox "不要なスペースを削除しました!", vbInformationEnd Sub
対象範囲を選択し、ツールバーの「実行」ボタンを押します。

このように、氏名の表記が統一されました。
書式を整えるマクロ
続いて、書式を整えてデータを見やすくするマクロを紹介します。たとえば以下のデータは、それぞれの氏名がフォントもサイズも色もバラバラです。

これを統一するためのVBAコードをChatGPTに聞いてみましょう。このとき、任意のフォントやサイズ、色も指定します。

コードが生成されたので、Excelに貼りつけます。

▼今回使用したVBAコード
Sub StandardizeFont() Dim rng As Range ' 選択範囲を対象にする Set rng = Selection ' フォント・サイズ・色の統一 With rng .Font.Name = "Meiryo UI" ' フォントを "Meiryo UI" に統一 .Font.Size = 12 ' フォントサイズを 12pt に統一 .Font.Color = RGB(0, 0, 0) ' 文字色を黒に統一 End With MsgBox "フォント設定を統一しました!", vbInformationEnd Sub
対象セルを選択したうえで、ツールバーにある「実行」ボタンをクリックします。すると以下のとおり、氏名の書式がすべて統一されました。

データを抽出・転記するマクロ
続いて、特定のデータだけを抽出するマクロを紹介します。例として以下のデータから、営業部の人のデータだけを抽出しましょう。

既存シートの隣に「営業部データ」というシートを新規作成しました。今回はここに、元データから営業部の人のデータを抽出して貼りつけるマクロを組みます。

抽出条件と転記箇所を指定し、ChatGPTに指示を出します。

出力されたコードをExcelのエディターに貼り付け、ツールバーの「実行」をクリックします。

▼今回使用したVBAコード
Sub ExtractSpecificData() Dim ws As Worksheet Dim newWs As Worksheet Dim rng As Range Dim cell As Range Dim rowNum As Long ' 元のシートを設定 Set ws = ActiveSheet ' 新しいシートを作成 Set newWs = ThisWorkbook.Sheets.Add newWs.Name = "営業部データ" ' 元シートの範囲を設定(データの範囲) Set rng = ws.UsedRange ' 新しいシートにヘッダーをコピー ws.Rows(1).Copy Destination:=newWs.Rows(1) ' 行番号の初期化 rowNum = 2 ' 営業部のデータを抽出 For Each cell In rng.Columns(2).Cells ' B列(部署)を検索 If cell.Value = "営業部" Then cell.EntireRow.Copy Destination:=newWs.Rows(rowNum) rowNum = rowNum + 1 End If Next cell MsgBox "営業部のデータを抽出しました!", vbInformationEnd Sub
すると新しいタブには、営業部の人のデータだけが抽出されました。

ChatGPTでExcelを自動化する注意点
ChatGPTでExcelを自動化する際は、以下のポイントに注意しましょう。
・複雑なコードはエラーが出やすい
・セキュリティの脆弱性
ChatGPTは話し言葉での言語理解が可能です。しかし、ときに指示が正しく伝わらない場合もあります。
複雑な作業をコード化する際は特に、エラーが出ることが少なくありません。生成したVBAコードはまずテスト用のシートを作成し、試してみることをおすすめします。
またChatGPTはセキュリティ面の懸念もあります。これまで紹介したように、VBAコードを出力させるだけなら大きなリスクはありません。
しかし「このデータを整理して」と社内データをChatGPTにアップロードしたりするのは避けましょう。
誰でも気軽にアクセスできるツールである分、情報漏洩事故の原因になりかねません。
BizRobo!ならExcel作業を簡単に自動化可能

ここまでChatGPTを使ったExcel自動化について紹介してきました。しかし、自動化したい作業によってはVBAコードが複雑化し、思うようにできないケースもあります。
またマクロは一部の作業を自動化するのみです。そのためマクロを組む作業に時間がかかり、かえって非効率になってしまうことも考えられます。
さらにシートごとにマクロを組む必要があるため、コードのコピー&ペーストといった新たな作業も発生します。
より劇的にExcel作業を自動化させたい場合は、BizRobo!がおすすめです。BizRobo!とは、RPA(ロボティックプロセス・オートメーション)ツールの一種です。
プログラミングされたロボットが特定の作業を自動化します。
直感操作で簡単にロボット開発
BizRobo!は、マクロを組むときのように難しいプログラミング言語を必要としません。普段行っている作業を画面上で直感的にロボットへ学習させられます。
分かりやすい画面デザインと、ドラッグ&ドロップという簡単操作でロボットをプログラムできます。
また数あるRPAツールのなかでもBizRobo!は、日本人向けのわかりやすいガイドラインが充実している点も特長です。
バックグラウンド実行可能
BizRobo!は、一度ロボットを開発すればバックグラウンド実行も可能です。マクロは誰かがExcelを開き「実行」ボタンを押さないと動作しません。
しかしBizRobo!は、担当者不在の間や休日でも自動でExcel作業を行ってくれます。週明けに出社したら事務作業が山積み…といった状況にもおすすめです。
Excel以外のツールも自動化可能
BizRobo!はExcelだけでなく、さまざまなツールを横断した作業を自動化できます。マクロはExcelのみの機能です。
一方BizRobo!はスプレッドシートなどのGoogle系ツールや楽楽会計といった会計ソフト、salesforceなどのMAにも対応できます。そしてそれらを横断して、一連の作業を包括的に自動化できるのが特長です。
たとえばExcelでデータを整形し、それを社内システムに入力。完了メールを担当者に飛ばす、といったこともBizRobo!ならワンストップで自動化できます。
まとめ
ChatGPTを活用すれば、難しいマクロも簡単に組めます。VBAコードを出力する際は、「何を」「どのように」「どうしたい」のか明確に指示しましょう。
指示を正しく出せば、誰でもExcel作業を手軽に自動化できるでしょう。なお、より幅広い業務を自動化したい場合はBizRobo!をご検討ください。
BizRobo!は日本でも高いシェアを誇るRPAツールです。1つのライセンスで無制限にロボットを開発できるため、部署をまたいだ活用もできます。
ぜひ無料お試し期間で、操作性や利便性を実感してみてください。