Python in Excel:変数が使える順番を理解しよう

designer

Python in Excelで変数を使用するにあたっての注意点を簡潔にまとめます。

Python in Excelの導入については以下の記事。

初心者向けPython:Excel作業を自動化したい人のためのPython in Excel – Lean Data Office

変数を呼び出せる範囲

image

この例では、sという変数に”Some string variable”という文字列を割り当てています。

この変数は下でハイライトしたセルで使用することができません。

image

これはExcelが変数を呼ぶのはその変数が定義されたセルの後、つまり、そのセルの上の行、もしくは左の列で使用できなくしているからです。

試しに、黄色ハイライト部分でこの変数を呼び出してみます。

image
image

左、上側では変数sを呼び出せません。

image

エラー詳細を見ると、変数sが定義されていないことが説明されています。

しかし、sを定義したあと、つまりセル右側、セル下側では問題なくこの変数を呼び出せます。

image
image

変数の再定義

変数は当然Pythonでは再定義が可能で、Python in Excelでも同様です。

下の例では変数sをセルB7で再定義しています。

image

変数sで定義した”Some string variable”を呼び出すことができるセルは、緑でハイライトした範囲です。

image

B7で再定義された’200’は、B7以降のセルで参照できます。

image
image

変数の定義方法

一つのワークシート内で、何度も一つの変数の再定義を行うと、変数を呼び出すタイミング(セルの位置)によって、期待している結果を得られないということが起こりえます。

よって定義を、A1セルで実施したり、別のシートを変数の定義用に準備する方法もエラーを起こさないために有効です。

image

上の例では”Init”シートを作成し、そのファイル内でsを定義しています。(このInitシートは変数を呼び出すシートより左側に位置付けてください。)

シート作成後に元のファイルに戻ると、もともと変数sが定義されていないという理由でエラーになっていたセルが、Initで定義された値に置き換わっていることがわかります。

image

まとめ

変数を扱う場合は呼び出しができるセルを意識して実行するように注意が必要です。

シートでの定義であったり、A1セルでの定義によって、呼び出すセルによってエラーを起こしたり、期待する変数が使用できていないということがないよう気を付けて実行しましょう。

筋トレとオートメーションが趣味。 モバイルアプリ個人開発者。 データ処理・可視化とレポートにハマり備忘録と情報共有のためにブログ開設し運営している。