見出し画像

【完全解説】Excel「カスタム関数」ChatGPTに作らせて自動化する7ステップ【GPTsあり】

専用GPTsのご紹介

Excelのカスタム関数を作ってくれるGPTs」を作りました!

https://chat.openai.com/g/g-l8fA03Zhm-excelkasutamuguan-shu-zuo-cheng-botuto-vbakodeingu-makurozuo-cheng-zhi-yuan
  • 既存のExcelには無い、新しい関数を作ってくれます

  • 出力されたVBAのコードをコピペするだけで実行可能。

例:
・適切なEメールアドレスか判定する関数
・適切な郵便番号にフォーマット変更する関数

また、動作確認に必要なテストデータも勝手に提供してくれて、サクサクと改善が進むようにしてあります。

Voicyの放送

以下の記事は、Voicyの放送のAI文字起こしベースで記述しています。
詳しくはVoicyの放送をお聴きください。

https://voicy.jp/channel/4403/718635

参考動画

ベストセラー書籍「ChatGPT最強の仕事術」池田智弘さんとの対談が数万回再生の好評放送中!

第1章 はじめに

本章では、Excelには存在しない独自のカスタム関数をChatGPTを用いて簡単に作成する方法をご紹介いたします。

エクセルの業務には、大量のデータを手作業でチェックする必要がある場合があります。例えば、数多くのメールアドレスが正しい形式で記入されているか一つずつ確認する作業は大変面倒なものです。こうした時間のかかる作業にはミスも多発します。

このような悩みを解決する手段の一つが、ユーザー定義関数という独自の関数を作成することです。これは通常、マクロを用いて実装するため、プログラミングの知識が必要不可欠でした。しかしながら、コード記述が得意なChatGPTを利用することで、カスタム関数の作成が非常に容易になりました。

第2章 カスタム関数が必要な具体的なケース

(ユーザー定義関数)

本章では、カスタム関数が必要とされた面白い事例をご紹介します。

YouTubeで公開した過去の動画の中で、ベストセラー書籍「ChatGPT最強の仕事術」の著者である池田智博さんと対談させていただきました。池田さんがChatGPTを用いてカスタム関数を作成した経験についてお話しいただきました。

(以下4:38~)

具体的には、大量のメールアドレスの書式が正しいかを判断する必要があったそうです。例えば、アドレスに "@" の重複やスペルミスなどの誤りが含まれると、送信時にエラーとなってしまいます。そこで、アドレスが適切な書式で記述されているか一つずつ確認する作業が発生するわけです。

この面倒な作業を自動化するべく、正しい形式であるかを判定するカスタム関数が必要とされました。通常こうした関数はマクロで実装するためプログラミング能力が必要ですが、ChatGPTなら簡単に依頼できるという結論に至ったそうです。このように実務上の必要性からカスタム関数の作成が求められるケースがあることをご理解いただければと思います。

第3章 ChatGPTにカスタム関数を依頼する手順

このマインドマップは以下のGPTで作成しました。
https://chat.openai.com/g/g-jBdvgesNC-mindmapdiagram-chart-pro-builder-free

本章では、ChatGPTにExcelのカスタム関数作成を依頼する具体的な手順を7つに分けて解説いたします。

手順1. 要件のマッチング

まず第1ステップは、関数で実現したい処理内容をChatGPTに伝えることです。例えば「Eメールアドレスが適切な形式か判定する関数が必要です」といった風に日本語で要件を伝えます。

手順2. 既存の関数の評価:

第2ステップでは、同等の処理が既存のExcel関数で実現できないか検討します。
例えば、メートルとキロメートルの単位変換を行うカスタム関数の作成を検討していたとします。しかしながら、この場合はExcelに既にCONVERT関数が存在します。CONVERT関数では非常に簡単にメートルからキロメートルへの変換など、様々な単位間の変換が可能です。

このように、作業自動化のために新しい関数を作成しようと考えていても、既存の関数で同様のことが実現できる場合があります。ChatGPTに「既存の関数で代替可能か」を確認することで、不要な労力を避けることができるのです。

例えば、メートルとキロメートルの変換にはCONVERT関数で十分対応可能です。したがって、カスタム関数を新規に作成する必要性は薄れました。私も最初は単位変換のカスタム関数を検討していましたが、ChatGPTからのアドバイスを受けて方針転換しました。

手順3. カスタム関数のコーディング:

第3ステップで、要件が固まった段階で実際にVBAを用いたコード記述をChatGPTに依頼します。

マクロの記述に初心者の方は以下のポイントに注意しつつChatGPTに依頼していきましょう。

日本語で丁寧に処理内容を確認し、コメントも充実させることで、初心者でもある程度コードの理解が進みます。

処理ロジックの核となる部分についてはChatGPTにお任せいただいて問題ありませんが、可能な限りコードの意味を理解し、想定外の入力にも柔軟に対応できるようにしておきたいものです。

ChatGPTとの対話を通じ、VBA記述の理解も着実に深めていけるはずです。

手順4. 導入方法の説明:

第4ステップでは、ChatGPTから提供されたコードをExcelに導入する方法を確認します。

  1. Alt+F11キーでVBEウィンドウを開く

  2. 「挿入」メニューから「モジュール」を選択

  3. 開いたモジュールにChatGPTから提供されたコードを貼り付ける

手順5. テストデータの提供:

第5ステップでは、関数の動作検証のため、ChatGPTに様々なパターンのテストデータを用意してもらいます。

例えばメールアドレスのValidationを行うカスタム関数の場合、以下のようなテストデータが生成されるでしょう。

・フォーマット通りの正しいアドレス test@example.com
・アットマーク(@)が2個続く不正なアドレス te@@st@example.com
・ドット(.)が連続している不正なアドレス test..foo@example.com
・全角スペースが含まれる不正なアドレス test foo@example.com
・文字列として不正な文字(記号など)が含まれるアドレス te%st@example.com

このように、正しいパターンとともに、文字や記号の誤り、フォーマット面のミスなど、様々な側面から不正な入力パターンを生成してくれます。これにより想定外のケースへの対応力が向上し、関数の完成度が高まります。

手順6. フィードバックと改善:

第6ステップでは、テスト結果を踏まえChatGPT側にフィードバックし、コード改善を依頼します。これを繰り返すことで完成度を高めていきますが、コードの改善点をどこまで追求するか判断基準が重要です。

判断基準としては、以下の2つの観点を設けることをおすすめします。

・自分やチーム内での利用に必要なレベルにする
・プログラマーの水準にこだわりすぎない

まず、自分やチームでの利用目的に照らし、必要十分なレベルにコードの品質を高めることが現実的です。

一方で、アドレス形式のチェックといったルーチンワークレベルの関数について、プログラマー並みの完璧性を求めすぎるのは非現実的。判断基準をある程度緩めておく必要があります。

ChatGPTの回答から自己判断し、上記2点を踏まえた上で、コード改善の追求範囲を設定することをおすすめします。これにより適切なコストパフォーマンスのカスタム関数作成が可能です。

手順7. マクロの保存と応用:

第7ステップでは、作成したマクロの保存と利用方法が重要視されます。初心者の方には以下の2つの保存・利用方法をおすすめします。

1.個人用マクロブックへの保存

これは Excel 上で個人利用するマクロを保存するブックです。このブックを開くことで、過去に作成したマクロを呼び出して現在のブックで利用することができます。セキュリティ的に安全な方法です。

2.アドインとしてパッケージ化

これはマクロ機能を Excel のアドインとして他のユーザーと共有できるようにパッケージ化する方法です。ただしセキュリティ上のリスクがあるため、社内規定に沿って利用する必要があります。

技術的には乗り越えるべきハードルも高いため、個人利用や小規模チームレベルに留めることを推奨いたします。

以上、保存と利用の方法を参考に、マクロ活用の幅を広げてみてください。

第4章 マクロの保存と利用方法

本章では、ChatGPTによって作成したカスタム関数のマクロをどのように保存し、後に利用していくかについて解説いたします。

マクロはExcelファイル内にVBAコードとして保存する必要があります。その場合、セキュリティ的なリスクが生じる可能性があるため、職場内での利用には制限が設けられることがあります。

そこでおすすめなのが、コードをメモ帳などにテキストとして保存しておき、必要なタイミングでコピペする「使い捨てマクロ」です。これならセキュリティ面の心配がなく、自分一人の利用に最適です。

あるいは、Excelの個人用マクロブックに保存しておく方法もあります。これはパソコン単位でのローカルな共有範囲なので、やはりセキュリティ面でのデメリットは小さいです。

さらに踏み込んだ利用法として、アドインの形式でパッケージ化し、マクロ機能を他者と共有する方法も紹介しておきます。ただしこの方法はエクスパートユーザー向けで、企業における利用ガイドラインの理解が不可欠です。

以上、マクロの保存と利用方法の選択肢を3つご紹介しました。自身の利用シーンに応じて、最適な方法を検討ください。

まとめ

本章をもって、ChatGPTを利用したExcelカスタム関数作成の解説を終えたいと思います。

日々の業務で発生するルーチンワークを自動化したい場合に、カスタム関数の作成が有効な手段となります。しかしながら通常その実現にはプログラミング能力が必要でした。

今回ご紹介した手順を踏むことで、Excel初心者であってもChatGPTを利用してカスタム関数の作成が可能です。テストデータの生成やコード改善もChatGPTに依頼することができるため、複雑な処理であっても実現可能です。

最後になりましたが、今回解説した一連の流れを参考に、皆様の業務効率化の一助としてご活用いただければ幸いです。

この記事が参加している募集

GPTsつくってみた

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