記事内にはプロモーションが含まれています

Python in Excelの使い方!導入方法やサンプルコード

Python in Excelの使い方!導入方法やサンプルコード プログラミングの疑問解決

年収アップの可能性を10秒チェック

現在、年収アップ額を算出中...
期待できる年収アップ額 --万円

年収アップが期待できるおすすめエージェント

ExcelでPythonが使えるようになったことをご存知の方も多いでしょう。

Python in Excelは、Microsoft 365に追加された革新的な機能で、Excelのセル内で直接Pythonコードを実行できるようになりました。

これまでExcelの関数だけでは難しかった高度なデータ分析や機械学習、美しいグラフの作成が、Pythonの豊富なライブラリを使って簡単に実現できます。

この記事では、Python in Excelの導入方法から基本的な使い方、実践的なサンプルコードまで、初心者の方にもわかりやすく解説します。

【著者プロフィール&本記事の信頼性】
プロフィール
  • 著者は元エンジニア
  • 大手プログラミングスクールのWebディレクター兼 ライターを経験
  • 自らも地元密着型のプログラミングスクールを運営
著者 おすすめスクール比較
スクール名 特徴・おすすめな人 詳細・リンク
RUNTEQ 大手比較サイトで4年連続人気NO.1!Webエンジニアを目指すなら一択のスクール 評判を見る 公式サイト
RaiseTech AWSを学びたい人におすすめ!卒業後も徹底したサポートあり 評判を見る 公式サイト
デイトラ 格安でWeb制作やPythonのスキルを習得できる! 評判を見る 公式サイト
ウズカレIT 完全無料で学習からエンジニア就職支援まで一気通貫! 評判を見る 公式サイト
DMM WEBCAMP 受講コースの豊富さは随一!学びたいスキルが定まっていない人におすすめ 評判を見る 公式サイト
.Pro 高いPythonスキルが手に入る!渋谷にある少人数制の対面型スクール 評判を見る 公式サイト
CodeCamp 上場企業の子会社が運営!朝7時~夜23時40分までレッスン可能 評判を見る 公式サイト

Python in Excelとは

Python in Excelは、MicrosoftがExcelに統合した革新的な機能です。

Excelのセル内で直接Pythonコードを記述でき、Pythonの計算はMicrosoftクラウドで実行され、結果がワークシートに返されます。

これにより、Excelの使い慣れたインターフェースを使いながら、Pythonの強力なデータ分析機能を活用できるようになりました。

この機能の最大の特徴は、AnacondaによるPythonライブラリのコアセットが提供されており、データ分析の簡素化、パターンや隠れた洞察の発見、プロットによるデータの視覚化が可能という点です。

pandasやmatplotlib、NumPyなどの人気ライブラリが標準で利用できるため、複雑な統計処理や機械学習モデルの構築も実現できます。

Python in Excelの導入方法

この項目ではPython in Excelの導入方法について詳しく解説していきます。

事前準備と環境確認

Python in Excelを使用するには、まず以下の環境要件を満たしているか確認してください。

  • インターネット接続(Python in Excelはクラウドで実行されるため必須)
  • Microsoft 365サブスクリプション(Business、Enterprise、PersonalまたはFamily)
  • 対応するExcelのバージョン

Windows版Excelの場合、Current Channelでバージョン2408(ビルド17928.20114)以降、Monthly Enterprise Channelでバージョン2408(ビルド17928.20216)以降が必要となります。

Mac版では、バージョン16.96(ビルド25041326)以降で利用可能です。

PersonalおよびFamilyサブスクリプションの場合は、Current Channelのバージョン2405(ビルド17628.20164)以降でプレビュー版として利用可能となっています。

Educationサブスクリプションをお持ちの方は、Microsoft 365 Insider Programに参加することで利用できるはずです。

Python in Excelの有効化手順

Python in Excelを有効化する手順は非常にシンプルで、以下の2つの方法があります。

【方法1:リボンから有効化】
1.Excelを開き、任意のセルを選択
2.「数式」タブをクリック
3.「Python の挿入」ボタンをクリック

【方法2:PY関数を使用】
1.任意のセルに「=PY」と入力
2.オートコンプリートメニューから「PY」を選択、またはTabキーを押す

=PY(

いずれかの方法で、Pythonモードが有効になると、セルと数式バーの左側に緑色の「PY」アイコンが表示されます。

これでPythonコードを直接セルに入力できるようになります。

トラブルシューティング

Python in Excelが使用できない場合は、以下の点を確認してください。

1. バージョンの確認
Excelのバージョンを確認するには、「ファイル」→「アカウント」→「Excelのバージョン情報」で確認できます。必要なビルド番号を満たしていない場合は、最新版に更新してください。
2. 更新チャネルの確認
特にPersonalやFamilyサブスクリプションの場合、Current Channelに設定されているか確認が必要です。過去に更新チャネルを変更したことがある場合は、Current Channelに戻してください。
3. インターネット接続の確認
Python in Excelはクラウドで実行されるため、安定したインターネット接続が必須となります。ファイアウォールやプロキシ設定が原因で接続できない場合もあるので、IT管理者に相談してみてください。

Python in Excelで何ができる?主な活用シーン

Python in Excelのできることや主な活用シーンは、以下の通りです。

高度なデータ分析と統計処理

Python in Excelでは、pandasライブラリを使用した高度なデータ分析が可能です。
例えば、データの基本統計量を取得する場合、以下のようなコードを使用できます。

# データフレームの作成
df = xl("A1:D100", headers=True)

# 基本統計量の表示
df.describe()

このコードは、A1からD100の範囲のデータを読み込み、平均値、標準偏差、最小値、最大値、四分位数などの統計情報を一度に取得します。

Excelの標準関数では複数の関数を組み合わせる必要がある処理も、Pythonなら1行で実現できるのが魅力でしょう。

データの可視化(グラフ、チャート作成)

matplotlibライブラリを使用することで、Excelの標準グラフよりも柔軟で美しいグラフが作成できます。

import matplotlib.pyplot as plt

# データの読み込み
df = xl("A1:C50", headers=True)

# 散布図の作成
plt.figure(figsize=(10, 6))
plt.scatter(df['売上'], df['利益'], alpha=0.6)
plt.xlabel('売上(万円)')
plt.ylabel('利益(万円)')
plt.title('売上と利益の相関関係')
plt.grid(True, alpha=0.3)
plt.show()

このコードを実行すると、売上と利益の相関関係を示す散布図が作成されます。
透明度(alpha)の調整やグリッドの表示など、細かなカスタマイズが可能です。

機械学習モデルの構築と予測

scikit-learnライブラリを使用して、機械学習モデルの構築も可能となっています。
以下は、線形回帰モデルの例です。

from sklearn.linear_model import LinearRegression
import numpy as np

# データの準備
df = xl("A1:B100", headers=True)
X = df[['広告費']].values
y = df['売上'].values

# モデルの構築と学習
model = LinearRegression()
model.fit(X, y)

# 予測値の計算
predictions = model.predict(X)

# 結果の出力
results = pd.DataFrame({
    '実際の売上': y,
    '予測売上': predictions,
    '誤差': y - predictions
})
results

このコードは広告費から売上を予測する線形回帰モデルを構築し、予測結果と実際の値との誤差を計算しています。

大規模データの効率的な処理

Python in Excelの大きな利点は、Excelの行数制限(約100万行)を超えるデータも処理できることです。
pandasのgroupby機能を使用すれば、大量のデータを効率的に集計できます。

# 月別売上の集計
df = xl("A1:D10000", headers=True)
df['日付'] = pd.to_datetime(df['日付'])

# 月別集計
monthly_sales = df.groupby(pd.Grouper(key='日付', freq='M'))['売上'].sum()
monthly_sales

このコードは、1万行のデータから月別の売上合計を瞬時に計算します。

Excelのピボットテーブルでも同様の処理は可能ですが、Pythonならより複雑な条件での集計も簡単に実装できるでしょう。

外部データソースとの連携

Python in Excelでは、Power Queryとの連携により外部データソースからのデータ取得も可能です。
2025年のアップデートにより、認証が必要なデータソースからのデータ更新もサポートされました。

# CSVファイルの読み込み(Power Query経由)
df = xl("Table1[#All]", headers=True)

# データのクレンジング
df['価格'] = df['価格'].str.replace('¥', '').str.replace(',', '').astype(float)
df['カテゴリ'] = df['カテゴリ'].str.strip()

# 処理済みデータの出力
df

このように、外部データの読み込みから前処理まで、一連の流れをPythonで自動化できます。

Python in Excelが使えない場合の確認事項

Python in Excelが使えない場合は、以下の点を確認してみてください。

Microsoft 365のライセンス種類の確認

Python in Excelが使えるか使えないかは、お使いのMicrosoft365のライセンスの種類によって異なります。

【一般提供(GA)されているライセンス】
Microsoft 365 Business
Microsoft 365 Enterprise
Excel for the web(BusinessおよびEnterprise)
【プレビュー版として利用可能】
Microsoft 365 Personal
Microsoft 365 Family
Microsoft 365 Education(Insider Program参加が必要)

注意点として、デバイスベースのライセンス(ユーザーではなくデバイスに割り当てられるライセンス)や共有コンピューター認証を使用している場合は、Python in Excelはサポートされません。

更新チャネルの設定確認

更新チャネルの確認と変更は以下の手順で行えます。

  1. Excelを開き、「ファイル」→「アカウント」を選択
  2. 「Office更新プログラム」セクションで現在の更新チャネルを確認
  3. 「更新オプション」→「今すぐ更新」で最新版に更新

Current Channel(最新チャネル)に設定されていることを確認してください。
Semi-Annual Enterprise Channelでは現在利用できません。

地域・言語設定の影響

Python in Excelは世界中で利用可能ですが、一部の地域では展開が遅れる場合があります。
また、Excelの表示言語が日本語以外に設定されている場合、機能の表示や動作に影響が出ることがあるでしょう。

言語設定の確認は、「ファイル」→「オプション」→「言語」で行えます。
表示言語と編集言語の両方が適切に設定されているか確認してください。

Python in Excelの使い方

Python in Excelの実際の使い方について、詳しく紹介していきます。

PY()関数の入力方法

PY()関数は、ExcelでPythonコードを実行するための基本的な関数です。
以下の構文で使用します。

=PY(code, [type])

【パラメータの説明】
code: 実行したいPythonコード(必須)
type: 戻り値の型(省略可能)
0: Excel値として返す(デフォルト)
1: Pythonオブジェクトとして返す

基本的な使用例を見てみましょう。

# 単純な計算
=PY("2 + 3 * 4")

# 結果: 14

複数行のコードを記述する場合は、Ctrl+Enter(Mac: Cmd+Enter)で改行できます。

=PY("
import math
radius = 5
area = math.pi * radius ** 2
area
")

Excelデータの読み込みと操作

Excelのデータを読み込む際は、xl()関数を使用します。
この関数により、Excelの範囲をPandasのDataFrameとして取り込めます。

# 基本的な読み込み
df = xl("A1:D100", headers=True)

# テーブルからの読み込み
df = xl("Table1[#All]", headers=True)

# 名前付き範囲からの読み込み
df = xl("SalesData", headers=True)

headers=Trueを指定すると、最初の行がヘッダーとして扱われます。

データの操作例を見てみましょう。

# データの読み込みと基本操作
df = xl("A1:C50", headers=True)

# 特定の列の選択
sales_data = df['売上']

# 条件によるフィルタリング
high_sales = df[df['売上'] > 1000000]

# 新しい列の追加
df['利益率'] = df['利益'] / df['売上'] * 100

# 結果の出力
df

セル範囲をPythonに取り込む方法

セル範囲をPythonに取り込む際のベストプラクティスをいくつか紹介します。

1. 動的範囲の指定

# 現在の領域全体を取得
df = xl("A1").CurrentRegion

# スピル範囲の取得
df = xl("A1#")

2. 複数範囲の結合

# 複数の範囲を結合
df1 = xl("A1:C10", headers=True)
df2 = xl("E1:G10", headers=True)

# 横方向に結合
combined = pd.concat([df1, df2], axis=1)

# 縦方向に結合
combined = pd.concat([df1, df2], axis=0, ignore_index=True)

3. データ型の自動認識と変換

# データ読み込み時の型指定
df = xl("A1:D100", headers=True)

# 日付列の変換
df['日付'] = pd.to_datetime(df['日付'])

# 数値列の変換
df['金額'] = pd.to_numeric(df['金額'], errors='coerce')

# カテゴリ型への変換
df['部門'] = df['部門'].astype('category')

Python in Excelでは、セル参照を直接Pythonコード内で使用することもできます。
編集モードでセルをクリックすると、自動的に適切な参照が挿入されるため、手動で範囲を入力する必要はありません。

初心者がPython in Excelの使い方を効率的に学ぶには

Python in Excelの使い方をはじめとするPythonのスキルを効率的に習得するには、プログラミングスクールの活用が最も近道です。

スクールでスキルを高めることにより、今の仕事に活かしたり、副業として高単価な案件を受注できたりするだけでなく、Pythonエンジニアとして転職することも可能になります。

Pythonエンジニアは需要が非常に高いため、それに比例して年収も高くなる傾向にあります。
「今よりも年収を上げたい」「将来性の高い職種であるエンジニアへ転職したい」といった気持ちが強い場合は、プログラミングスクールでPythonの専門スキルを習得しつつ、ポートフォリオ支援や転職支援を受けてエンジニアへ転職する、という道を目指すのもよいでしょう。

なお、「Pythonに強く、受講生からの評判も良いプログラミングスクール」には、以下のようなところがあります。

その他、以下の記事でもPythonのおすすめスクールをまとめていますので、興味のある方は是非参考にしてください。

おすすめエージェント
当ブログ著者
当ブログ著者
\ 登録・利用はすべて完全無料! /
未経験からのエンジニア転職を成功させたい
ユニゾンキャリア
実務未経験エンジニアでも希望の転職先を見つけやすい!!

スキルを活かして副業で稼ぎたい
MidWorks(ミッドワークス)
週1~3日からできる副業案件多数!!

フリーランスとして高単価な案件を獲得したい
レバテックフリーランス
フリーランス案件の単価の高さは圧倒的!!
著者 おすすめスクール比較
スクール名 特徴・おすすめな人 詳細・リンク
RUNTEQ 大手比較サイトで4年連続人気NO.1!Webエンジニアを目指すなら一択のスクール 評判を見る 公式サイト
RaiseTech AWSを学びたい人におすすめ!卒業後も徹底したサポートあり 評判を見る 公式サイト
デイトラ 格安でWeb制作やPythonのスキルを習得できる! 評判を見る 公式サイト
ウズカレIT 完全無料で学習からエンジニア就職支援まで一気通貫! 評判を見る 公式サイト
DMM WEBCAMP 受講コースの豊富さは随一!学びたいスキルが定まっていない人におすすめ 評判を見る 公式サイト
.Pro 高いPythonスキルが手に入る!渋谷にある少人数制の対面型スクール 評判を見る 公式サイト
CodeCamp 上場企業の子会社が運営!朝7時~夜23時40分までレッスン可能 評判を見る 公式サイト