Python in Excel ― はじめてのPythonチュートリアル
📘 はじめに
このページでは、Python in Excelを初めて使う人向けに、
「Pythonコードを書いて、Excel上に結果を表示する」
ところまでを実際に操作します。
ここではPythonの文法やデータ分析についてはほとんど扱いません。目的は次の操作を覚えることです。
- Pythonセルを作る
- Pythonコードを実行する
- コードエディターを開く
- ExcelのセルをPythonから読み込む
- 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の実用上の強みは、ここから大きくなります。