Python in Excel の使い方は難しくはありませんが、Excelのワークシート関数とは少し勝手が違います。この記事では、Python in Excel を使用するにあたって知っておくべき注意点について説明します。
Python in Excel はクラウド上で実行される
Python in Excel は、エンタープライズレベルのセキュリティを備えた Microsoftのクラウド上で実行されます。独自の別個のコンテナー内でさらに隔離された状態で実行され、データのプライバシーが保たれています。
クラウド上で実行されるので、インターネットに接続されていない場合は処理結果を取得することができません。
クラウドに頻繁にアクセスさせないようにするには
インターネットに接続されている場合でも、クラウドへのアクセスが頻繁に発生した場合、パフォーマンスが低下する可能性があります。
これを回避するためにブックの「計算オプション」を「自動」ではなく「一時」または「手動」に変更するという方法があります。
「計算オプション」の設定の仕方は以下の記事で紹介しています。
Windows版のExcelのみ、他プラットフォームは現在未対応
2023年10月現在、Python in Excel の機能はプレビュー段階で、Windows版のExcelでのみ提供されています。また、正式版ではなくベータ版のExcelでのみ利用可能です。
他のユーザーとブックを共有する場合、他のユーザーの環境によっては使用できないため注意が必要です。
Python in Excel には計算順序がある
Python in Excel のコードを記述する際は、計算順序を意識した実装が必須です。Pythonセルをどこに配置するかによって異なる計算結果が返る場合があります。
計算順序
- 1つのセルに入力されたPythonコードは上から下に計算されます。
- ワークシート上に複数のPythonセルがある場合、Pythonセルは行メジャー順に計算されます。
A1セル →→→ XFD1セル、次の行にうつり
A2セル →→→ XFD2セル、の順番に計算される、という意味です。 - 複数のシートがある場合、左に配置されたワークシートから順番に計算されます。シートの位置を変更すると、計算結果が変わる場合があります。
変数の値を上書きする例を見てみましょう。
# C1セルの入力例
x=xl("A1")
y=xl("B1")
x+y
C1セルで変数xにA1セルの値「11」が代入され、E4セルで「123」で上書きしています。
E4セルの周囲のセルには「x」を参照するコードを入れています。
結果を見てみます。
Pythonセルは、A1→B1…XFD1、A2→B2…XFD2、の順番で計算されるので、E4セル以降のF4セル、および5行目のセルでは上書き後の「123」が表示されます。
上記のサンプルの入力方法は、以下の記事で紹介しています。