見出し画像

xlwingsでエクセルVBAとPythonを合体させよう

<2022年4月20日追記:この度Udemy講師デビューしました>

エクセルでPythonを操作できたら便利だなーと思っている中でなんとなくいろいろと調べていたら、バッチリのものが有りました。

エクセルの効率化を実施しつつも、Pythonで慣れ浸しんだ操作感を落とさずきれいなダッシュボードを作りたい

みたいな良いところ取りができます。エクセルのダッシュボードは最近だとBIと同じように作れます。かつ、費用もかかりません。

そんな中。今回扱っていくPythonのライブラリーはxlwingsというものです。いくつかPythonでエクセルを扱えるものがあるのですが、とても使いやすいので、これを使っています。

<xlwingsといいます>

ちょっと前まで実は私はあまりこれまで使ってこなかったのですが、使ってみるとすごく可能性を感じました。Webアプリケーションまでは不要ではあるものの、エクセルだけだとイマイチやれる機械学習を組み込んだものを実施するには難しい。かといって、普段Pythonでやっていることをエクセルの関数のみだとできない、みたいな悩みないでしょうか?

ちなみに、Webアプリケーションを爆速で誕生させる方法については以下で紹介しています。

本題としてまず最初に実際に動いている所をお見せします。これでよりイメージが付きやすいものになるはずです。

VBAで終わらせばいいじゃん!とか、Pythonですませばいいじゃん!とか、そんな感じで両者を分けて考えていたので(なぜそうだったのかはわからないのですが)、エクセルとPythonの両者を合体させるという発想が今まで有りませんでした。

ですが、ビジネスの場面ではやはりまだExcelが主流ですし、自分がいくらPythonでやることになれていたとしても相手の人はエクセルがいいと言われることがまだまだあります(よね?)

ですので、エクセルと統合できたらいいなと思ってきました。

エクセルで作業をするときに、
・セルに値を入れる
・セルの名前をつける
・セルに関数を入れる
・自動的なアップデートを実施する
等々

少し、発展的な事も普段実施することがあるのですが、こういったことも実現できる機能が入っています。VBAで開発した方であれば、ある程度その辺もできるのですが、私のようにあまりVBAを扱ったことがない人であれば、Pythonで実施できる方が、ありがたいし、学習コストが格段に少なく済みます。

実際にどうやるの?というのを示すために、簡単に紹介動画を作りました。VBAと同じ操作感で、タブからPythonを実行する形になります。

このシリーズでは、投資判断を行う際の問題設定を題材にして、Pythonを使ってモンテカルロシミュレーションを実施することをエクセル上で行います。

IRRや、物価上昇率と言ったものを一部この中では扱うことにして、金融関連の知識についても触れていく予定です。

最終的に行いたいものとしての具体的な方法としては
★フロントエンド側(ユーザーが見る画面)がExcel
★バックエンド側(ユーザーは見ないものの裏側で動く部分)がPython
という仕組みです。その仕組を実現することでできる便利さやについて解説していこうと思います。

具体的には以下のような結果を(バックエンド側のPython)、

以下のような形でエクセルに反映させ(フロントエンド側のエクセル)、

最終的には、投資対効果があるのかと言ったことをシミュレーションする形で進めていきます。

一気に最終形に飛びたい方は以下を御覧ください。

エクセルとして動くMVP(最低限の機能を持ったプロダクトイメージ)を作りたい方は以下を御覧ください。

以下は有料の動画を含む記事になりますので、更に学習効率を推進したい方はぜひご活用ください。

<エクセルの効率化>

<アウトルックの効率化>

ぜひ今回からご紹介する各種機能の使い方をマスターしてエクセル×Python力を上げていきましょう。

いいなと思ったら応援しよう!