2023年9月時点でベータ版の「Python in Excel」で、import文とインポートしたモジュールを使うコードの位置には注意が必要であることを記事にしました。
何らかの影響を受けるPythonモードのセルは右下方向にないとダメというルールは、import文だけでなく他のコード(式)でも適用されます。
簡単な例で確認しましょう。
変数を定義して、その変数を使用するセルがどこにあるかによって、正常に実行される場合とエラーになってしまう場合があります。
Python in Excelで正常に評価される場合
ショートカットキー[Ctrl]+[Alt]+[Shift]+[P]などでPythonモードにしたC3セルに、
var = 1234
と、変数varに整数「1234」を代入する文のみを入力して、
PythonモードにしたE3セルやC5セルに、
var
と変数varを参照するだけの式を入力すると下図のように「1234」が表示されます。
Python in Excelで正常に評価されずエラーになるケース
ところが同じワークシートのC1セルやA3セルに
var
と入力した場合には、下図のような「#PYTHON!」エラーが発生します。
このとき、[診断]作業ウィンドウには
「name 'var' is not defined(識別子'var'が定義されていない)」
とNameErrorが発生していることが下図のように表示されます。
変数varを定義しているC3セルの右下方向にあるセルではエラーになりませんでしたが、左上方向にあるセルではエラーになってしまいます。
「Z」を書くように左から右・上から下に計算される
Python in Excelでは、左から右に式が評価されてから、上から下に評価される大原則があります。
Microsoftの公式記事「Getting started with Python in Excel」には、以下の記述があります。
Python cells calculate in row-major order. This means that the cell calculations run across a row (from column A to column XFD), and then across each following row down the worksheet.
アルファベットの「Z」を書くような順序で評価されるということです。
最終更新日時:2023-09-07 12:41
Home » Python » Python in Excelの使い方 » Python in Excelの式は「Z」を書くように、左から右、上から下に評価される