可用性の詳細については、「 Python in Excel の可用性」を参照してください。 Python in Excel で問題が発生した場合は、Excel の [ヘルプ] > [フィードバック] を選択して報告してください。
Python in Excel を初めて使用する場合は、 まず、 Python in Excel の概要から始めます。
Python の使用を開始する
Python in Excel の使用を開始するには、セルを選択し、[ 数式] タブで [Python の挿入] を選択します。 これにより、選択したセルに Python 数式を書き込むことが Excel に通知されます。
または、セル内で関数 =PY を使用して Python を有効にします。 セルに 「=PY」 と入力したら、下矢印キーと Tab キーを使用して関数オートコンプリート メニューから PY を選択するか、= PY( 関数に左かっこを追加します。 これで、Python コードをセルに直接入力できます。 次のスクリーンショットは、PY 関数が選択されたオートコンプリート メニューを示しています。
セルで Python が有効になると、そのセルには PY アイコンが表示されます。 Python セルが選択されているときに、数式バーに同じ PY アイコンが表示されます。 例については、次のスクリーンショットを参照してください。
Python と Excel のセルと範囲を組み合わせる
Python セルで Excel オブジェクトを参照するには、Python セルが編集モードであることを確認し、Python 数式に含めるセルまたは範囲を選択します。 これにより、選択したセルまたは範囲のアドレスが Python セルに自動的に入力されます。
ヒント
キーボード ショートカット F2 キーを使用して、Python セルの Enter モードと Edit モードを切り替えます。 編集モードに切り替えると Python 式を編集でき、Enter モードに切り替えるとキーボードで追加のセルまたは範囲を選択できます。 キーボード ショートカットの詳細については、「 Python in Excel のキーボード ショートカット」を参照してください。
Python in Excel ではカスタム Python 関数 xl() を使用して、Excel と Python 間のインターフェイスを行います。
xl() 関数は、範囲、テーブル、クエリ、名前などの Excel オブジェクトを受け取ります。
xl() 関数を使用して Python セルに参照を直接入力することもできます。 たとえば、セル A1 を参照するには xl("A1") を使用し、 範囲 B1:C4 には xl("B1:C4") を使用します。
MyTable という名前のヘッダーを持つテーブルの場合は、xl("MyTable[#All]", headers=True) を使用します。
[#All] 指定子を使用すると、テーブル全体が Python 式で分析され、headers=Trueテーブル ヘッダーが正しく処理されます。
[#All] などの指定子の詳細については、「Excel テーブルでの構造化参照の使用」を参照してください。
次の画像は、Python in Excel の計算でセル A1 と B1 の値を加算し、Python の結果をセル C1 に返します。
数式バー
数式バーを使用すると、Enter キーを使用して新しい行を作成するなど、コードに似た編集動作を行うことができます。 下矢印アイコンを使用して数式バーを展開し、一度に複数行のコードを表示します。 キーボード ショートカットの Ctrl+Shift+U キーを使用して数式バーを展開することもできます。 次のスクリーンショットは、数式バーを展開して複数行の Python コードを表示する前と展開した後を示しています。
数式バーを展開する前に、次の手順を実行します。
数式バーを展開した後:
ヒント
さらに大きなコード編集スペースと、テキストの色分けや IntelliSense などの機能を使用する場合は、 Python in Excel コード エディターを使用します。
出力の種類
数式バーの Python 出力メニューを使用して、Python の計算を返す方法を制御します。 計算を Python オブジェクトとして返すか、計算を Excel 値に変換してセルに直接出力します。 次のスクリーンショットは、Python 数式を Excel 値として返します。
ヒント
右クリック メニューを使用して、Python の出力の種類を変更することもできます。 右クリック メニューを開き、[Python Output] に移動し、目的の出力タイプを選択します。
次のスクリーンショットは、前のスクリーンショットと同じ Python 数式を示しています。現在は Python オブジェクトとして返されます。 数式が Python オブジェクトとして返されると、セルにはカード アイコンが表示されます。
注
Excel 値に返される数式の結果は、対応する Excel 値に最も近い値に変換されます。 将来の Python 計算で結果を再利用する場合は、結果を Python オブジェクトとして返することをお勧めします。 結果を Excel の値として返すと、値に対して Excel のグラフ、数式、条件付き書式などの Excel 分析を実行できます。
Python オブジェクトには、セル内に追加情報が含まれています。 追加情報を表示するには、カード アイコンを選択してカードを開きます。 カードに表示される情報はオブジェクトのプレビューであり、大きなオブジェクトを処理する場合に便利です。
Python in Excel では、多くの種類のデータを Python オブジェクトとして返すことができます。 便利な Python in Excel データ型は DataFrame オブジェクトです。 Python DataFrames の詳細については、「 Python in Excel DataFrames」を参照してください。
外部データのインポート
Python in Excel で処理するすべてのデータは、ワークシートまたは Power Query から取得する必要があります。 外部データをインポートするには、Excel の Get & Transform 機能を使用して Power Query にアクセスします。 詳細については、「Power Query を使用して Python in Excel のデータをインポートする」を参照してください。
重要
セキュリティを保護するため、Python の一般的な外部データ関数 ( pandas.read_csv や pandas.read_excel など) は Python in Excel と互換性がありません。 詳細については、「 データ セキュリティと Python in Excel」を参照してください。
計算の順序
従来の Python ステートメントは、上から下に計算します。 Python in Excel セル内では、Python ステートメントも同じことを行い、上から下に計算します。 ただし、Python in Excel ワークシートでは、Python セルは行優先順で計算されます。 セルの計算は、1 つの行 (列 A から列 XFD まで) と、ワークシートの下の次の各行にわたって実行されます。
Python ステートメントは順序付けられているため、各 Python ステートメントは、計算順でその直前にある Python ステートメントに暗黙的な依存関係を持ちます。
変数を参照する前に変数を定義する必要があるため、ワークシート内の変数を定義および参照する場合は、計算順序が重要です。
重要
行優先の計算順序は、ブック内のワークシート全体にも適用され、ブック内のワークシートの順序に基づきます。 Python in Excel を使用して複数のワークシートを使用してデータを分析する場合は、そのデータを分析するセルとワークシートの前に、データとセルおよびワークシートにデータを格納する変数を必ず含めます。
再計算
Python セルの依存文字列が変更されると、すべての Python 数式が順番に再計算されます。 Python の再計算を一時停止してパフォーマンスを向上させるには、 部分計算 モードまたは 手動計算 モードのいずれかを使用します。 これらのモードでは、準備ができたときに計算をトリガーできます。 この設定を変更するには、リボンに移動して [数式] を選択し、[ 計算オプション] を開きます。 次に、目的の計算モードを選択します。 部分計算モードと手動計算モードでは、Python テーブルとデータ テーブルの両方の自動再計算が一時停止されます。
Python 開発中にブックで自動再計算を無効にすると、パフォーマンスと個々の Python セルの計算速度を向上させることができます。 ただし、各 Python セルの精度を確保するには、ブックを手動で再計算する必要があります。 部分計算モードまたは手動計算モードでブックを手動で再計算するには 3 つの方法があります。
- キーボード ショートカットの F9 キーを使用します。
- リボンで [ 今すぐ数式>計算 ] に移動します。
- 取り消し線の書式で表示されている古い値を持つセルに移動し、そのセルの横にあるエラー記号を選択します。 次に、メニューから [今すぐ計算] を選択します。
エラー
Python in Excel の計算では、Python セルに #PYTHON!、 #BUSY!、 #CONNECT! などのエラーが返される可能性があります。 詳細については、「 Python in Excel エラーのトラブルシューティング」を参照してください。