プロジェクトオーガナイザの吉田聖書です。
アメリカにあるマイクロソフト社が現地時間の8月22日に、公式サイト上のExcel BlogでExcel上でPythonのコードを動かせる機能を発表しました。
Announcing Python in Excel: Combining the power of Python and the flexibility of Excel.(2023/8/22 Microsoft Corporation)
このサイト上のデモを見たんですけれども、Excelの数式を入力するところに「=PY」と入力するとPythonモードが起動して、Pythonのコードを記述することができるようになっています。そして実行はローカルPCの環境ではなくMicrosoft Cloud上で行われて、そこから帰ってきた結果をExcel上に表示することができるという仕組みです。
実行がクラウド上で行われるということで、情報の流出を気にする向きもあろうかと思いますが、余程機微な情報を扱うのでない限りそこまで気にする必要はないかと思います。それよりも、今まで気にはなっていても敷居が高くてPythonになかなか手を出せなかった人たちにとって、それを簡単に試す環境が手に入ることの方がインパクトが大きいのではないでしょうか。
Pythonでデータ解析とか機械学習を行う場合、単にPythonの実行環境や必要なパッケージをインストールすれば良いということではなくて、かなりCPUパワーを必要とします。自分のPCでは計算能力が貧弱だという場合でも、Microsoft Cloud上で計算が実行されるので関係ありませんよね。
ただ、現時点ではいくつかの注意点があります。
それは、今はまだプレビュー版であり、「Microsoft 365 Insider Program」への参加が必要です。正式なリリース時期は不明ですが、正式にリリースした時に完全な機能を利用するには追加料金が必要になるかもしれないとの噂もあります。が、これはまだ調整されるはずなので発表を待ちたいと思います。
それから、既存のVBAを置き換えるものではないという点です。もしかすると、中にはExcelのマクロがPythonで組めるようになるかもしれないと期待した人もいるかもしれませんが、残念ながらそういうことではないようです。それができたらかなり画期的だと思いますが、それが実現するためには、.NETアプリケーションをC#やF#のようにPythonで組めるようにすることが先かと思います。
もう一つの注意点として、VBAってこれまでかなり悪用されてきた歴史があります。普通のオフィスファイルを装ってマクロに仕込まれたサイバー攻撃のプログラムをPCで実行してしまい、被害に遭ってしまう事例が多数報告されました。だからこそ今はマクロをブロックする機能がオフィス製品に組み込まれているわけですよね。そしてこれも噂レベルの域を出ないのですが、Pythonもそのような懸念があるということです。利便性とセキュリティはトレードオフの関係にあります。
※ この記事は、先日公開した以下の音声コンテンツを基に編集したものです。
今回の発表で他に着目すべき点は、Excelに組み込まれるPythonはAnacondaが提供しているという点です。AnacondaっていうのはPythonのパッケージ管理システムで、他の言語でいうと、古くはPerlのCPAN、PHPのPEARやComposer、RubyのGem、JavaScriptのnpm、.Net FrameworkのNuGetなどが代表例です。パッケージやライブラリの依存関係を管理して、矛盾が起きないようにすることができます。これのおかげで、色んなライブラリを入れて行ったら動かなくなったというトラブルを防ぐことができます。
ちょっと話がそれますが、こういうパッケージ管理システムが無い環境だと依存関係を自分で調べて管理しなければいけないため、一歩間違うと動かなくなってしまうんですよね。昔それでハマって本来やりたい開発の時間が削られてしまうということが度々ありました。作業を巻き戻すのも大変なので、一度まっさらにしてやり直した方が早いんですが、同じ手順でやると同じように詰まってしまうので苦労しました。なので、こういう風に環境が用意されるというのは、チャレンジするハードルをグンと下げてくれますね。
関連記事
プロマネの右腕
プロジェクトマネジメントの支援を行っています。
新サービスの企画を任されたけど どう進めていいか悩んでいる担当者、
部下に新しい企画を任せたけど このままで大丈夫か不安な管理職の方、
以下のサイトをご参照ください。
https://www.crossidea.co.jp/services/right-hand-pmo.html
YouTubeにて動画配信中!
プロジェクトマネジメントのノウハウをYouTubeで配信しています。
ブログと併せてご活用ください。