メインコンテンツへスキップ

Python in Excel ― はじめてのPythonチュートリアル

📘 はじめに

このページでは、Python in Excelを初めて使う人向けに、

「Pythonコードを書いて、Excel上に結果を表示する」

ところまでを実際に操作します。

ここではPythonの文法やデータ分析についてはほとんど扱いません。目的は次の操作を覚えることです。

  1. Pythonセルを作る
  2. Pythonコードを実行する
  3. コードエディターを開く
  4. ExcelのセルをPythonから読み込む
  5. Pythonの計算結果をExcelへ返す

最終的には、Excelに入力した数値をPythonで読み込み、簡単な計算をしてExcelへ返します。


🐍 Step 1:Pythonセルを作る

まずExcelで新しいブックを開きます。

適当なセル、例えばA1を選択します。

リボンから、

[数式]→[Pythonの挿入]

を選択します。

セルがPython入力モードになります。

別の方法として、セルに、

=PY

と入力し、候補からPY関数を選択することでもPythonセルを作成できます。

通常のExcelセルでは「=」からExcel関数を入力しますが、PythonセルではPythonコードを記述します。


👋 Step 2:Hello Worldを表示する

Pythonセルに次のコードを入力します。

"Hello World"

Ctrl + Enterを押して実行します。

セルに、

Hello World

と表示されれば成功です。

これだけでPythonコードがMicrosoft Cloud上のPython環境で実行されています。

Hello Worldと表示されればPython in Excelの実行環境は正常に利用できます。


🔢 Step 3:Pythonで計算する

次にPythonで簡単な計算をします。

別のPythonセルに、

1 + 2

と入力して実行します。

結果は、

3

となります。

もう少しPythonらしく、

x = 10
y = 20
x + y

としても構いません。

結果は、

30

になります。

Pythonセルでは、最後に評価された値がExcel側へ返されます。


📝 Step 4:コードエディターを開く

Pythonコードが1~2行ならセル内でも編集できます。

しかし、コードが長くなるとセル内での編集は不便です。

そこで使用するのがPythonコードエディターです。

リボンから、

[数式]→[Python]→[エディターの起動]

を選択します。

Excel画面の右側にコードエディターが表示されます。

Microsoftの現行ドキュメントでは、このタスクペインを Python in Excel code editor と呼んでいます。

コードエディターは別のPython開発環境ではありません。Excelブック内に存在するPythonセルを編集しやすくするための画面です。


🖥️ Step 5:コードエディターを使う

コードエディターを開くと、現在のブックに存在するPythonセルを一覧で確認できます。

例えば、先ほど作ったPythonセルが、

"Hello World"

と表示されます。

コードエディターから対象セルを選択してコードを書き換えてみます。

message = "Hello Python in Excel!"
message

実行するとExcelセルにも、

Hello Python in Excel!

と結果が返ります。

コードエディターには、コードを読み書きしやすくするためのシンタックスハイライトやIntelliSenseも用意されています。

数行以上のPythonを書く場合は、セルへ直接入力するよりコードエディターを使用する方が見通しがよくなります。


📊 Step 6:Excelの値をPythonから読む

ここからがPython in Excel特有の操作です。

Excelに次のように入力します。

セル
A1 100
A2 200
A3 300

別のセルをPythonセルにして、次のコードを書きます。

data = xl("A1:A3")
data

Python in Excelでは、Excel上のデータを取得するためにxl()という専用関数を使用します。セル範囲、テーブル、名前付き範囲などをPythonから参照できます。

実行すると、A1:A3のデータをPython側で取得できます。

つまり、

Excel
 A1:A3
   ↓
 xl()
   ↓
Python

という関係です。


🧮 Step 7:Excelの値をPythonで計算する

先ほどの、

100
200
300

をPythonで合計してみます。

Pythonセルに、

data = xl("A1:A3")
data.sum()

と入力します。

実行すると合計値が返ります。

この時点で、

Excelのデータ
      ↓
    xl()
      ↓
   Python
      ↓
     計算
      ↓
  Excelへ結果

というPython in Excelの基本的な流れを一通り体験できています。


📋 Step 8:表をPythonで読む

実務では1セルずつではなく、表をPythonへ渡すことが多くなります。

例えばExcelに次の表を作ります。

商品 売上
A 100
B 200
C 300

A1:B4に配置したとします。

Pythonセルから、

df = xl("A1:B4", headers=True)
df

として読み込みます。

headers=Trueによって、先頭行の「商品」「売上」が列名として扱われます。

そして、

df["売上"].sum()

とすれば、

600

を取得できます。

PythonでExcelデータを分析するときは、Excelの表 → xl() → pandasのDataFrameという流れが基本になります。


🔍 Step 9:PythonオブジェクトとExcel値の違いを確認する

Pythonセルでは、結果をPythonオブジェクトとして保持するか、Excelの値として表示するかを選択できます。

例えばDataFrameを返した場合、Pythonオブジェクトとして扱うことも、Excelのセル範囲として展開することもできます。

Pythonセルを選択すると、Python出力メニューから出力方法を変更できます。

最初は、

「Python値」

と、

「Excel値」

という2種類の結果の返し方があることを覚えておけば十分です。

後続のPython処理で使う途中データならPythonオブジェクト、最終結果をExcelの表として利用したいならExcel値、という使い分けが基本です。


⚠️ Python in Excelで最初につまずきやすい点

Pythonセルと普通のセルは違う

普通のExcelセルに、

1 + 2

と書いてもPythonとして実行されません。

Pythonセルを作ってからコードを記述します。

Excelセルはxl()で読む

通常のPythonならファイルなどからデータを読み込みますが、Python in ExcelではExcelデータとの橋渡しにxl()を使います。

xl("A1:B10")

という記法は通常のPythonには存在しません。

Python in Excel専用です。

ローカルPC上のPythonではない

例えば、

open("C:/test.txt")

としてPC上のファイルを自由に読み込むような用途には使えません。

PythonはMicrosoft Cloud上の隔離された環境で実行されます。

Python in Excelを普通のPython開発環境と考えないことが重要です。ExcelのデータをPythonで分析するための環境と考えると理解しやすくなります。


🎯 最低限これだけ覚える

最初は次の3つだけ覚えれば十分です。

Pythonセルを作る:

[数式]→[Pythonの挿入]

Excelデータを読む:

df = xl("A1:B10", headers=True)

Pythonで処理する:

df["売上"].sum()

コードが長くなったら、

[数式]→[Python]→[エディターの起動]

からコードエディターを使用します。


📝 まとめ

Python in Excelの最小構成は非常に単純です。

Excelセル
   ↓
  xl()
   ↓
Pythonコード
   ↓
計算・分析
   ↓
Excelセル

最初の練習としては、

"Hello World"

から始め、

1 + 2

xl("A1:A3")

data = xl("A1:A3")
data.sum()

まで動かせれば十分です。

ここまで理解できれば、次の段階はpandasを使ってExcelの表を集計・加工することです。Python in Excelの実用上の強みは、ここから大きくなります。