Excelに「Python(パイソン)」が統合されたことで、ついに表計算ソフトとプログラミングの世界がつながりました。
2023年以降、MicrosoftはExcel上で「=PY()」関数を使い、Pythonコードを直接実行できる機能を正式に発表しました。
これにより、複雑なデータ分析やグラフ作成、AIを活用した予測モデルまで、Excelだけで完結できるようになりました。
本記事では、「PY関数」の基本的な使い方から、データ分析・グラフ作成・AI活用まで、初心者にもわかりやすく解説します。
PY関数とは?ExcelでPythonを使う新時代
これまでExcelでは関数やマクロ(VBA)で自動化や集計を行ってきました。
しかし、データ分析や機械学習などを行うにはPythonのような言語が必要でした。
「PY関数」は、この壁を取り払い、Excel上でPythonを直接実行できるようにした機能です。
Excelのセルに「=PY(“Pythonコード”)」と入力すると、その結果をセル内に表示できます。
例:
=PY("sum([1,2,3,4,5])")
→ 結果:15
このように、Pythonのコードを直接Excel関数のように書けるのが最大の特徴です。
Microsoft公式によると、この機能は「Python in Excel」と呼ばれ、データ分析に特化した安全な環境で動作します。
バックグラウンドで「Anaconda」と呼ばれるPython環境が実行されており、NumPy、pandas、matplotlibなどの定番ライブラリがすぐ使えるようになっています。
PY関数を使うための準備
1. Excelのバージョンを確認
Python統合機能は、**Microsoft 365の最新バージョン(Windows版)**でのみ利用可能です。
※2024年時点では、Excel for Macや永続ライセンス版では対応していません。
2. Microsoft 365 Insider Programに参加
正式リリース前は、「Microsoft 365 Insider Program(ベータテスト)」に登録する必要がありました。
すでに一般提供が始まっていますが、環境によっては段階的に反映されるため、Officeの更新を確認してください。
3. Python in Excelを有効化
Excelを起動して、「数式」タブ内に「PY関数」や「Python」アイコンがあれば利用可能です。
もし表示されていない場合は、Officeの更新を行いましょう。
PY関数の基本的な使い方
PY関数の書き方はとてもシンプルです。
基本構文は次の通りです:
=PY("Pythonコード")
Pythonのコードは文字列として渡され、実行結果がExcelのセルに表示されます。
例1:四則演算
=PY("3 + 5")
→ 結果:8
例2:文字列の結合
=PY("'Hello' + ' ' + 'World'")
→ 結果:Hello World
例3:リストの平均を求める
=PY("sum([10, 20, 30, 40]) / 4")
→ 結果:25
ExcelのセルデータをPythonで処理する
ExcelのセルデータをPythonに渡して計算することも可能です。A1:A5の範囲に数値が入力されている場合、次のように書けます。
=PY("sum(x)/len(x)", A1:A5)
ここで、xはセル範囲(A1:A5)をPythonに引き渡した変数です。
ExcelのデータをPythonのリストやpandasのDataFrameとして処理できるのが最大の魅力です。
pandasを使った例
=PY("x.describe()", A1:A10)
→ 結果:平均値・最大値・最小値などの統計情報をExcel上に表示
PythonグラフをExcel上で表示する
matplotlibを使えば、Excel上でPythonグラフを直接生成できます。
例:棒グラフを描く
=PY("
import matplotlib.pyplot as plt
plt.bar(['A', 'B', 'C'], [10, 20, 15])
plt.show()
")
Excel上にPythonグラフがそのまま描画されます。
今までExcelの「グラフ機能」でしかできなかったことが、Pythonの自由な可視化ライブラリで実現できるようになりました。
pandasでデータ分析を行う
pandasを使うと、ExcelのデータをDataFrame(表形式データ)として扱えます。
例:平均値を求める
=PY("
import pandas as pd
df = pd.DataFrame(x)
df.mean()
", A1:A5)
→ 結果:範囲A1:A5の平均値を計算
例:複数列のデータを分析
=PY("
import pandas as pd
df = pd.DataFrame({'売上':[100, 200, 150], '利益':[30, 50, 40]})
df['利益率'] = df['利益'] / df['売上']
df
")
→ 結果:Excel上に「売上」「利益」「利益率」の表が表示されます。
このように、従来はPower Queryや外部ツールを使っていた分析を、PY関数で一瞬で実現できます。
AI・機械学習への応用例
PY関数では、scikit-learnなどの機械学習ライブラリも利用できます。
簡単な線形回帰モデルもExcel上で動かせます。
例:売上予測モデル
=PY("
from sklearn.linear_model import LinearRegression
import numpy as np
X = np.array([1,2,3,4,5]).reshape(-1,1)
y = np.array([10,20,25,35,40])
model = LinearRegression()
model.fit(X, y)
model.predict([[6]])[0]
")
→ 結果:約45(予測値)
これにより、ExcelだけでAI予測や統計モデルを作成することも可能になりました。
PY関数を使うときの注意点
- Pythonコードの実行にはクラウド接続が必要
PY関数はMicrosoft Cloud上のPython環境で実行されます。オフラインでは使えません。 - 外部ライブラリの追加インストールは不可
Anacondaに含まれる標準ライブラリのみ利用できます。独自パッケージはインストールできません。 - 処理時間が長いコードは制限される
Excelの安定性確保のため、実行時間やメモリに制限があります。 - 機密データの扱いに注意
データはMicrosoftの安全なクラウド環境で処理されますが、企業機密などは慎重に扱いましょう。
PY関数の活用アイデア
- データ分析レポートの自動生成
- 売上予測やトレンド分析
- 異常値検出(外れ値チェック)
- 自然言語処理による文章解析
- matplotlibでのカスタムグラフ作成
- Excel関数+Pythonのハイブリッド分析
これまで「Pythonが難しい」と感じていた人でも、Excelの延長として学ぶことができ、ビジネス現場でもすぐ活用可能です。
まとめ
Excelの「PY関数」は、まさに表計算とデータサイエンスの融合です。
今まで別々だったExcelとPythonの世界がひとつになり、データ分析・グラフ・AI予測まで一気通貫で行えるようになりました。
Pythonの基礎を少し覚えるだけで、Excelの可能性が何倍にも広がります。
日々の業務効率化から高度な分析まで、ぜひ「PY関数」を使って新しいExcelの力を体感してください。
