ExcelでPythonがネイティブに動く「Python in Excel」を使ってみた

ExcelでPythonが利用できる「Python in Excel」を使ってみた
目次

概要

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 の表現力とエコシステムを取り込めるのが最大の強みです。
今後も最新情報やユースケース、実務で役立つレシピを継続的に紹介していきます。ぜひ活用してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AI・DX・LowCodeなど企業に役立つ情報を発信しています。

目次