Python in Excel の注意点

接続エラー 基本
この記事は約4分で読めます。

Python in Excel の使い方は難しくはありませんが、Excelのワークシート関数とは少し勝手が違います。この記事では、Python in Excel を使用するにあたって知っておくべき注意点について説明します。

Python in Excel はクラウド上で実行される

Python in Excel は、エンタープライズレベルのセキュリティを備えた Microsoftのクラウド上で実行されます。独自の別個のコンテナー内でさらに隔離された状態で実行され、データのプライバシーが保たれています。
クラウド上で実行されるので、インターネットに接続されていない場合は処理結果を取得することができません。

接続エラー

インターネットに接続して一度処理結果を取得済みの場合は、その後オフラインにしても処理結果はそのまま残りますが、PY関数を書き換えたり再計算をすると、接続エラーとなり処理結果が消えてしまいます。

クラウドに頻繁にアクセスさせないようにするには

インターネットに接続されている場合でも、クラウドへのアクセスが頻繁に発生した場合、パフォーマンスが低下する可能性があります。
これを回避するためにブックの「計算オプション」を「自動」ではなく「一時」または「手動」に変更するという方法があります。

「計算オプション」の設定の仕方は以下の記事で紹介しています。

Windows版のExcelのみ、他プラットフォームは現在未対応

2023年10月現在、Python in Excel の機能はプレビュー段階で、Windows版のExcelでのみ提供されています。また、正式版ではなくベータ版のExcelでのみ利用可能です。

他のユーザーとブックを共有する場合、他のユーザーの環境によっては使用できないため注意が必要です。

2023年10月現在、Python in Excel は Microsoft 365 Insider Program のベータチャネルを選択することによって使用できるベータ版のExcelでのみ利用可能です。
ベータ版のExcelのインストール・初期設定方法は以下で詳しく紹介しています。

Python in Excel には計算順序がある

Python in Excel のコードを記述する際は、計算順序を意識した実装が必須です。Pythonセルをどこに配置するかによって異なる計算結果が返る場合があります。

計算順序

  • 1つのセルに入力されたPythonコードは上から下に計算されます。
  • ワークシート上に複数のPythonセルがある場合、Pythonセルは行メジャー順に計算されます。
    A1セル →→→ XFD1セル、次の行にうつり
    A2セル →→→ XFD2セル、の順番に計算される、という意味です。
  • 複数のシートがある場合、左に配置されたワークシートから順番に計算されます。シートの位置を変更すると、計算結果が変わる場合があります。
[Python in Excel] 計算順序1
シート内の計算順序は「Z」

変数の値を上書きする例を見てみましょう。

[Python in Excel] 計算順序2
式表示モードで見てみる(Shift + Ctrl + @ で表示)
# 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」が表示されます

[Python in Excel] 計算順序3

上記のサンプルの入力方法は、以下の記事で紹介しています。

参考

タイトルとURLをコピーしました