2023年8月にPython in excel が発表されました。X(旧Twitter)を見ていると「いよいよプログラミングを勉強するべき?」というポスト(ツイート)をいくつか拝見しました。流行りに乗ることはとっても良いことですが、本当に必要なのかどうかは考える必要があると思います。なので今回は簡単ではありますが、Python in Excel、VBA、マクロ、Pythonあたりをまとめたいと思います。
追記
動画バージョンを作成しました。パワーポイントにまとめていますので、聞き流したい方はこちらをご活用ください。
Python in Excel
一言で言うとアナリスト向けと言った感じです。現状はMatplotlibやseabornを使ったグラフ作成(棒グラフ、折れ線グラフ、ヒートマップなど)や、scikit-learnやstatsmodelsを活用した、機械学習の適用が可能です。コードはExcelの数式バーに書くことができ、環境構築も必要がないため、使い勝手はいいと思います。
Matplotlib、seaborn、scikit-learn、statsmodelsはライブラリといい、クラスや関数などがまとめられたものです。ライブラリを使うことで、自分で実装しなくても様々なプログラムを使うことができます。
2023年9月時点ではパブリックプレビュー版がリリースされており、使用するには「Microsoft 365 Insider」への加入が必要になります。「Microsoft 365 Insider」への加入には、Microsoft 365 サブスクリプションが必要です(Office 2019、Office 2021などの買い切りは不可)。
始めてみたい方はこちらをご確認ください。「Microsoft 365 Insider」への加入方法およびPython in excelの始め方を解説しています。
【動画Ver】
【テキストVer】
実際に機械学習を実装してみました
【動画Ver】
【テキストVer】
VBAとPython in Excelの違い
VBAとは、ExcelやWordなどのMicrosoft Officeアプリケーションの機能を拡張することができるプログラミング言語のことです。
VBAでできることと言えば、
- 転記作業の自動化
- データ集計やグラフの作成の自動化
- 請求書などの書類作成自動化
- メール送信の自動化
- フォルダを作成し、ブックを保存
などがあります。
つまりVBAはExcel操作全般の自動化ができるため、今回発表されたPython in Excelとは用途が違うことが分かります。
ちなみにマクロという言葉もありますが、マクロはコンピュータの処理を自動化する機能を言います。そして、そのマクロを実行するための言語がVBAです。
Pythonでできること(VBAとPythonの違い)
Pythonでできることは、
- Excel処理の自動化
- 物体検出
- RPA
- OCRを使ったPDF処理
- フォルダ操作
- メール送信
- スクレイピング
などがあります。
VBAとの違いはできることの幅広さだと思います。効率化したいものがExcelなどのofficeに限られる場合はPythonにこだわる必要はないです。逆にOCRで抽出したデータをExcelに出力したい、Excelデータを整形して、それをWEBページに自動で入力(RPA)したいなど、officeの範囲を超える場合はPythonを学ぶ必要があります(RPAはマクロだと手が届かないときにも使えたりします)。
ただしPythonは無料で使うことができますが、セキュリティー上、自由にインストールできる会社は多くないと思います。
おわりに
Python in Excelの発表はかなりの話題となりました。確かにExcelで容易に機械学習を実装できるのは多くの企業にとってプラスになります。しかし、まだまだOffice業務の効率化だけで事足りる企業も多いと感じるので、自分の今の環境にあった方を選べばいいと思います(その方が直ぐに実践を積めて成長に繋がります)。
YouTubeにてPythonチュートリアル(公式ドキュメント)を使って基礎を解説しています。
体系的に学びたい方は是非ご活用ください。
出典