【Excel × Python】新機能「PY関数」の使い方を徹底解説!初心者でもできるデータ分析入門

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関数を使うときの注意点

  1. Pythonコードの実行にはクラウド接続が必要
     PY関数はMicrosoft Cloud上のPython環境で実行されます。オフラインでは使えません。
  2. 外部ライブラリの追加インストールは不可
     Anacondaに含まれる標準ライブラリのみ利用できます。独自パッケージはインストールできません。
  3. 処理時間が長いコードは制限される
     Excelの安定性確保のため、実行時間やメモリに制限があります。
  4. 機密データの扱いに注意
     データはMicrosoftの安全なクラウド環境で処理されますが、企業機密などは慎重に扱いましょう。

PY関数の活用アイデア

  • データ分析レポートの自動生成
  • 売上予測やトレンド分析
  • 異常値検出(外れ値チェック)
  • 自然言語処理による文章解析
  • matplotlibでのカスタムグラフ作成
  • Excel関数+Pythonのハイブリッド分析

これまで「Pythonが難しい」と感じていた人でも、Excelの延長として学ぶことができ、ビジネス現場でもすぐ活用可能です。


まとめ

Excelの「PY関数」は、まさに表計算とデータサイエンスの融合です。
今まで別々だったExcelとPythonの世界がひとつになり、データ分析・グラフ・AI予測まで一気通貫で行えるようになりました。

Pythonの基礎を少し覚えるだけで、Excelの可能性が何倍にも広がります。
日々の業務効率化から高度な分析まで、ぜひ「PY関数」を使って新しいExcelの力を体感してください。

タイトルとURLをコピーしました