概要
Python in Excel は、Microsoft が提供する「Excel 上で直接 Python コードを実行できる機能」です。Insider 先行提供を経て、現在は Windows/Mac/Web で広く利用できます(一部プレビューを含む)。
pandas や matplotlib などの人気ライブラリを使って、機械学習前処理・高度なグラフ描画・集計など、従来は難しかった分析を Excel から離れずに 行えます。
主な特徴と機能
- 2つの書き方:セル関数
=PY()
、またはリボン [数式]→[Python の挿入](Python セル) - 結果はシートに直返し:テーブルやグラフがワークシート上に表示
- Python エディター(GA):右ペインのタブ型エディター。IntelliSense/シンタックスハイライト対応
提供形態・料金
プラン | 料金(月額/ユーザー) | 内容 |
---|---|---|
Microsoft 365 Business/Enterprise | 標準プランに含む(Standard Compute) | 自動計算モードで Python 分析が利用可能 |
Python in Excel アドオン | $24/月・$240/年 | 高速な Premium Compute、部分/手動再計算モード対応 |
Python in Excelの利用方法
Excel を起動し、リボンの[数式]タブから[Python の挿入]を選択すると利用できます。

またセルに =PY( と入力しても開始できます。
データを可視化してみる(散布図と相関)
今回は、ダミーの電力使用量のデータの相関図をグラフして可視化したいと思います。
サンプルデータを貼り付け
1.新しいブックの 「Data」シートに、以下を A1 から貼り付けます。
Date Power Usage (%) Temperature (℃)
2025-08-01 63.8 26.2
2025-08-02 63.5 26.2
2025-08-03 64.5 27.6
2025-08-04 67.9 28.6
2025-08-05 67.5 30.4
2025-08-06 69.7 31.3
2025-08-07 72.9 32.6
2025-08-08 71.5 32.3
2025-08-09 74.8 33.9
2025-08-10 73.9 34.2
2025-08-11 62.4 25.5
2025-08-12 61.1 27
2025-08-13 62.4 27.2
2025-08-14 64.5 28.5
2025-08-15 65.8 30.2
2025-08-16 67.8 31.1
2025-08-17 67.8 31.6
2025-08-18 70.9 33.1
2025-08-19 74.6 34.5
2025-08-20 72.8 34.2
2025-08-21 62 26.5
2025-08-22 62.4 27.3
2025-08-23 63.3 27.7
2025-08-24 67.6 28.4
2025-08-25 69.4 30.7
2025-08-26 69.2 30.7
2025-08-27 67.8 31.3
2025-08-28 72 32.4
2025-08-29 72.3 34.6
2025-08-30 74.2 35.2
コードを実行
1.[数式]→[Python の挿入] を押す(または右ペイン「Python エディター」を開く)

2.次のコードを貼り付け、▶ 実行(エディター)または Ctrl+Enter(セルの =PY()
)します。
import pandas as pd
import matplotlib.pyplot as plt
# Data!A1:C31 を読み込む(ヘッダーあり)
df = xl("Data!A1:C31", headers=True).copy()
# 型の整形(頑健化)
df["Date"] = pd.to_datetime(df["Date"], errors="coerce")
for c in ["Power Usage (%)", "Temperature (℃)"]:
df[c] = pd.to_numeric(df[c], errors="coerce")
# 散布図
plt.figure(figsize=(8,5))
plt.scatter(df["Temperature (℃)"], df["Power Usage (%)"])
plt.title("Temperature vs Power Usage (Aug 2025)")
plt.xlabel("Temperature (℃)")
plt.ylabel("Power Usage (%)")
plt.show()
# 相関係数(最後の行が出力になる)
df[["Temperature (℃)", "Power Usage (%)"]].corr().iloc[0,1]
参考:名前付き範囲を作れば
「数式 → 名前の管理 → 新規」でDataRange = Data!$A$1:$C$31
と定義し、df = xl("DataRange", headers=True)
と書けます。
3.以下のようにグラフが表示されたら完了です。


おわりに
Python in Excel は、慣れ親しんだ Excel の操作感はそのままに、Python の表現力とエコシステムを取り込めるのが最大の強みです。
今後も最新情報やユースケース、実務で役立つレシピを継続的に紹介していきます。ぜひ活用してみてください。