少し前に「Python in Excel」記事でご紹介しましたように、Microsoft 365版 Excelで Pythonが使えるようになりました。
その記事では「Python in Excel」の概要と超簡単な使用例をご紹介しました。
とは言え、2つの数値セルの加算を求めるだけのもので、これなら Pythonを使わなくても、普通に「+」演算子を使って求めればよいので、Python in Excelの良さが伝わらなかったと思います。
やはり、もう少しサンプルがあったほうが良いだろうと思います。
でも、あまり難しい例だと Pythonライブラリの話から始めなければならないので、ここでは“簡単な例”の範疇で、いくつかのサンプルを示してみようと思います。
(1) 簡単な数値計算
セル A1に数値「123」を入力しておき、他のセルに
=PY(xl("A1")*2)
と入力し、[Ctrl]+[Enter]キーを押すと、その答えである「246」が返されます。(下図)

同じことを、変数を介してやってみます。
=PY(x = xl("A1"); result=x * 2; result)
と入力し、[Ctrl]+[Enter]キーを押すか、「=PY(」まで入力し数式バーに緑色の「PY」が表示されたら続けて以下のコードを入力します:
x = xl("A1") # A1セルの値を読み込み
result=x * 2
result
[Ctrl]+[Enter]キーを押すと、同じく「246」が返されます。(下図)

(2) リストの合計
=PY(sum([1, 2, 3, 4, 5]))
と入力し、[Ctrl]+[Enter]キーを押すと、「15」と返されます。(下図)

ここで使用している sum関数は Pythonの sum関数です。
(3) 表形式データでの演算
Pythonの pandasライブラリの DataFrameを使って 2次元表形式のデータを作り、その要素について演算してみます。
Pythonコードとして、以下のコードを入力し、[Ctrl]+[Enter]キーを押します。
import pandas as pd
df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])
df['a'].sum()
ここでは、a列の合計を求め「4」と返されました。(下図)

この図中、その右側には参考までに表データ df のイメージを付記しておきました。
(4) グラフを描画
Pythonコードとして、以下のコードを入力し、[Ctrl]+[Enter]キーを押します。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
この例では、matplotlib.pyplot を使ってサイン波のグラフを作成し、表示しています。
入力したセルには「Image」と表示されており、その近くにあるアイコン「データの挿入」をクリックし「セルの上にプロットを表示」をクリックします。(下図)

あるいは、セル上で右クリックして「セルの上にプロットを表示」を選択してもよろしいです。
すると、セル上にグラフが表示されます。(下図)

グラフは、ドラッグして任意の場所に移動でき、サイズも変更できます。
ご注意:
- Python in Excel は、ローカルファイルへのアクセスや、インターネットへのアクセスはできません
- Python in Excel で使用できる関数やライブラリには制限があります
- Python in Excel は、Excel の数式バーで実行するため、数式バーの表示領域に制限があります
これらの注意点を踏まえて、Python in Excel を活用してください。
いかがでしょうか。
上記の例は、“とっかかり”に過ぎませんが、また便利そうな例を思いつきましたら改めてご紹介するかもしれません。