はじめに
連載の構成は次のとおりです。第1回ではVBAとのすみ分けを整理し、第2回以降はpandasによる前処理、matplotlibとseabornによる可視化、scikit-learnを使った機械学習へと進みます。「Excelブックの中で分析が完結する」という体験を、連載全体を通じて一貫して取り上げていきます。
第1回となる本稿では、Python in Excelの基本と、現場でよく耳にする「Pythonが使えるようになるとVBAは不要になるのか」という問いを取り上げます。前半でVBAとPython in Excelの技術的な違いと使い分けの考え方を整理し、後半では「=PY」と「xl()」の基本操作を解説します。
なお本記事では、「Microsoft 365」で「Python in Excel」が利用可能な環境を前提としています。利用可能な環境の概略は次のとおりです(2026年5月時点)。
- 対応サブスクリプション:Microsoft 365 のEnterprise/Businessライセンスで標準利用可。Family/PersonalおよびEducationはプレビュー提供。
- 対応プラットフォーム:Excel for Windows(Current Channelの対象ビルド以降)、Excel for the web、Excel for Mac(バージョン16.96以降)
このほか、インターネット接続が必要です。詳細な対応バージョンや更新状況は、Microsoft公式ドキュメントExcelでのPythonの可用性を参照してください。
Python in Excel導入、「VBAは不要か?」(1)
Python in Excelの登場を受けて「Pythonが使えるようになるなら、もうVBAは不要になるのか」といった声が上がっています。
結論から言えば、答えは「ノー」です。Pythonが使えるようになっても、VBAが役割を失うわけではありません。両者は得意分野が異なる別々の道具であり、目的に応じて使い分けることが重要です。本節ではこの問いを起点に、Microsoftが統合に踏み切った背景、技術的な違い、そして使い分けの基準を順に整理します。
なぜMicrosoftはPythonをネイティブ統合したのか
MicrosoftがPythonをExcelに統合した背景には、長年積み上げてきたVBA資産の限界と、新しい分析ニーズの高まりという二つの要因があります。
VBA資産の課題と新しい分析ニーズ
多くの企業では、長年にわたって蓄積されたVBAマクロが業務の根幹を支えています。しかしVBA資産が増えるにつれ、保守性や可読性の面で課題が生じる場面も増えてきました。例えば、以下の課題です。
- 可読性の低下:作成者以外には全体像が見えにくく、コードの意図が伝わりにくい
- 修正リスクの見えにくさ:変更の影響範囲が把握しづらく、手を入れることへの心理的ハードルが高い
- 引き継ぎコストの増大:担当者交代のたびに、想定以上の時間と工数がかかる
- セキュリティリスクの高まり:MicrosoftはVBAマクロをデフォルトでブロックする方針を採用(2022年より)しており、外部ファイルのマクロが実行できないケースが増えている
こうした構造が「できる人に業務が集中し、他の人にとってはブラックボックスになっている」という状況を生み出しています。
さらに、扱うデータ量も年々増加しています。数十万行を超えるデータの処理、機械学習による予測、より高度な統計分析へのニーズが高まる中、関数式やVBAだけでは対応しきれない場面も増えてきました。
統合の背景:分析エコシステムをExcelの中に持ち込む
こうした状況を受けて登場したのが、本連載のテーマであるPython in Excelです。
2024年9月にMicrosoftが一般提供を開始したこの機能は、コードの実行場所がVBAと根本的に異なります。VBAがユーザーのPC上でローカルに動作するのに対し、Python in ExcelのコードはMicrosoftのクラウド(Azure)上で実行されます。ユーザー側にPythonの実行環境を用意する必要はなく、セルにコードを書くだけで動作します。
利用できるライブラリには、データ処理の定番「pandas」、グラフ描画の「matplotlib」「seaborn」、機械学習の「scikit-learn」などが含まれます。
[Note]利用できるPythonライブラリについて
代表的なライブラリ(NumPy/pandas/Matplotlib/seaborn/statsmodels)はPythonセル内でimport文を書かなくてもそのまま利用できます。一方、scikit-learnやSciPyといったライブラリはインストール済みですが、使う際にimport文が必要です 。利用可能なライブラリ一覧は公式ドキュメント「オープンソースライブラリとPython in Excel」で確認できます。
組織の管理側から見ると、ライブラリのバージョン管理や脆弱性対応をMicrosoft側に委ねられるのもメリットです。ユーザーが個別に環境構築・更新を行う必要がないため、組織展開時の管理コストを抑えられます。
これまでExcelは、集計・帳票・関数計算のためのツールとして使われてきました。たとえば毎月の売上データから「来月どの商品が売れそうか」を予測したい場合、従来は次の手順を踏む必要がありました。
- ExcelからCSVにエクスポート
- Pythonの開発環境を立ち上げる
- データを読み込んでモデルを実行
- 結果をExcelに貼り戻す
Python in Excelはこの往復を不要にします。Excelブックの中でpandasを動かし、scikit-learnで予測モデルを組み、matplotlibでグラフを描く。これらをツールを切り替えることなく一貫して行えるようになったことで、Excelは「集計・帳票のためのツール」から「データサイエンスの入り口となるツール」へと位置づけが変わります。
