ChatGPTでExcel業務を自動化する方法|社内SEが使える関数・VBA活用例

AIツール活用

社内SEをやっていると、Excelを使ったデータ加工や集計、レポート作成は避けて通れません。「この関数、前も調べたな…」「またVBA書くのか」と感じたこと、一度はあるはずです。

そこで試してほしいのがChatGPTとの組み合わせです。やりたいことを日本語で伝えるだけで、関数もVBAも生成してくれます。自分が実際に使ってみて、特に「調べながら作る」という無駄な往復が減ったのが大きかったです。

この記事では、社内SEがすぐ使えるプロンプト例と出力例をセットで紹介します。


ChatGPTはExcel業務のどこまでカバーできるか

まず全体像を整理しておきます。ChatGPTが対応できる主なExcel作業は以下のとおりです。

  • IF・XLOOKUP などの複雑な関数の生成
  • VBAマクロの作成
  • データ整形(余分なスペース削除・文字コード統一など)
  • エラー原因の分析(#N/A、#VALUE! など)
  • CSV・ログデータの加工手順の提示

社内SE業務は「正解がわかっていても調べる時間がかかる」作業が多い。ChatGPTはその「調べる時間」を削るのが得意です。


Excel関数をChatGPTで自動生成する

複雑なIF関数(ネスト)を一発で作る

IF + AND / OR の組み合わせは、条件が増えるほど自分で書くと凡ミスが起きやすい場所です。

プロンプト例:

A列が「営業」で、B列が100以上なら「対象」と表示するExcel関数を作成してください。

出力例:

=IF(AND(A1="営業", B1>=100), "対象", "")

条件が3つ・4つになってもChatGPTに任せれば正確に生成できます。「AND条件とOR条件を混在させたい」といった追加要望も日本語で続けて伝えればOKです。

XLOOKUPで別シートからデータ検索

VLOOKUPよりXLOOKUPの方が実務では使いやすい場面が多いですが、引数の順番や「見つからない場合の処理」を毎回確認している方も多いはず。

プロンプト例:

商品コードから商品名を別シートから取得する関数を作成してください。

出力例:

=XLOOKUP(A2, 商品マスタ!A:A, 商品マスタ!B:B, "未登録")

第4引数で「未登録」を返すことで、#N/Aエラーも回避できています。VLOOKUPと違い、検索列が左端でなくても動くのもXLOOKUPの強みです。

日付・期限管理の関数

契約管理やタスク管理で「期限が近いものを目立たせたい」ケースに使えます。

プロンプト例:

今日から7日以内なら「期限間近」と表示する関数を作成してください。

出力例:

=IF(A1-TODAY()<=7, "期限間近", "")

条件付き書式と組み合わせてセルを赤くする、という使い方も一緒にChatGPTに聞けば対応してくれます。

データ整形・文字処理

地味な割に、やらないとデータが壊れる作業です。

プロンプト例:

余分なスペースを削除する関数を教えてください。

出力例:

=TRIM(A1)

全角・半角の混在が問題になる場合はこちら:

=ASC(A1)   ' 全角→半角に変換

「TRIM後さらにASCを噛ませたい」といった組み合わせも、プロンプトに書けばネストした関数を出してくれます。

関連記事:ChatGPTで業務効率化する方法|社内SEがすぐ使える具体例5選


VBA・マクロをChatGPTで生成する

自動集計マクロ

プロンプト例:

A列の合計をB1に出力するVBAを書いてください。

出力例:

Sub 集計()
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    Range("B1").Value = WorksheetFunction.Sum(Range("A1:A" & lastRow))
End Sub

lastRow で末尾行を動的に取得しているのがポイントで、データ件数が変わっても使い回せます。

空白行を一括削除するマクロ

データ整形でよくある「空白行が混在している」問題は手作業では地味につらい。

プロンプト例:

空白行を削除するVBAを作成してください。

ChatGPTが出力するコードは通常、末尾から逆順にループして削除する方式になっています(正順だと行がズレてバグる)。こういう落とし穴を踏まずに済むのが助かります。

ExcelからOutlookでメールを送信するマクロ

プロンプト例:

ExcelからOutlookでメール送信するVBAを書いてください。

月次レポートを自動送信したい、アラートメールを自動化したい、という用途に使えます。Outlookの参照設定が必要になる場合があるため、「Outlookオブジェクトライブラリを使う前提で」と補足するとより精度の高いコードが出ます。

⚠️ VBAは必ず実行前に確認してください。 ChatGPTが出力するコードは概ね正しいですが、環境依存の問題や想定外の動作が起きることがあります。バックアップを取った上でテスト実行するのが鉄則です。


実務で使える応用例

CSVデータの加工

「不要な列を削除したい」「文字コードをShift-JISからUTF-8に変えたい」「フォーマットが月ごとに微妙に違う」といった悩みも、やりたいことを書けば関数・PowerQuery・Pythonなど複数の手段を提案してくれます。どれが自分の環境に合うか選べるのが便利です。

ログデータからの値抽出

例:

ログからIPアドレスだけ抽出したい

正規表現を使った抽出方法、LEFT/MID/FIND関数での対応、PowerQueryでの処理など、状況に応じた選択肢を複数出してくれます。

#N/A や #VALUE! などのエラー原因を調べる

例:

Excelで#N/Aが出る原因を教えてください

「検索値の型が一致していない」「末尾にスペースが入っている」など、よくある原因と確認手順をセットで出してくれます。自分でデバッグする時間が大幅に減ります。


使う前に知っておきたい注意点

社内データ・個人情報は入力しない

ChatGPTに実データをそのまま貼るのはNGです。社員名・顧客情報・システム構成などは必ずマスクしてください。「A列に氏名が入っている」という表現で十分なケースがほとんどです。

出力結果は必ず自分の目で確認する

特にVBAはテスト実行前のコードレビューを省かないでください。「動いた」と「正しく動いた」は別物です。


まとめ:「調べながら作る」時間をゼロに近づける

ChatGPTを使ってみて実感したのは、「わかってるけど調べないといけない」作業がなくなるということです。関数の引数・VBAの書き方・エラーの対処法、これらを毎回検索する時間が積み重なると、1週間でかなりのロスになります。

まずは「この関数、毎回調べてるな」というものをひとつChatGPTに投げてみてください。慣れてきたら、VBAやデータ処理の自動化まで活用範囲を広げていくのがおすすめです。

関連記事:【実践編】社内SE専用AIアシスタントの作り方|GPTsでマニュアル検索を効率化する

タイトルとURLをコピーしました