Applies ToExcel for Microsoft 365

Excel の Python は、バージョン 2408 (ビルド 17928.20114)、Windows の月次エンタープライズ チャネル (バージョン 2408 (ビルド 17928.20216) 以降で、Windows で現在のチャネルを実行している Enterprise ユーザーと Business ユーザーが使用できるようになりました。バージョン 2405 (ビルド 17628.20164) 以降の Windows で現在のチャネルを実行しているファミリー ユーザーと個人ユーザーはプレビュー段階で利用できます。 Excel の Python は、Microsoft 365 Insider Program を通じて現在のチャネル (プレビュー) を実行している Education ユーザー向けにプレビューで利用できます 現在、Semi-Annual エンタープライズ チャネルでは使用できません。

最初に Excel for Windows に展開し、後で他のプラットフォームにロールアウトします。 可用性の詳細については、「 Excel の Python の可用性」を参照してください。​​​​​​​

Excel で Python に関する問題が発生した場合は、Excel の [ヘルプ ]> [フィードバック ] を選択して報告してください

Python in Excel を初めて使用する場合は、 Excel での Python の概要から始めます。  

Python の使用を開始する 

Excel で Python の使用を開始するには、セルを選択し、[数式] タブで [ Python の挿入] を選択します。 これにより、選択したセルに Python 数式を記述することを Excel に指示します。 

[数式] に移動し、[Python の挿入] を選択します。

または、セルで 関数 =PY を 使用して Python を有効にします。 セルに =PY と入力した後、下方向キーと Tab キーを使用して関数オートコンプリート メニューから PY を選択するか、関数に開始かっこ =PY() を追加します。 これで、セルに Python コードを直接入力できます。 次のスクリーンショットは、PY 関数が選択された AutoComplete メニューを示しています。

Python を有効にするには、セルに「=PY」と入力します。

セルで Python が有効になると、そのセルに PY アイコンが表示されます。 数式バーには、Python セルが選択されている場合に同じ PY アイコンが表示されます。 例については、次のスクリーンショットを参照してください。 

セルで Python が有効になっている Excel ブック。セルに緑色の PY アイコンが表示されています。

Python と Excel のセルと範囲を組み合わせる

Python セル内の Excel オブジェクトを参照するには、Python セルが編集モードであることを確認し、Python 数式に含めるセルまたは範囲を選択します。 これにより、選択したセルまたは範囲のアドレスが Python セルに自動的に設定されます。 

ヒント: キーボード ショートカット F2 を使用して、Python セルで Enter モードと編集モードを切り替えます。 [編集モード] に切り替えて Python 数式を編集し、[Enter] モードに切り替えることで、キーボードで追加のセルまたは範囲を選択できます。 キーボード ショートカットの詳細については、「Excel キーボード ショートカットの Python」を参照してください。

Excel の Python では、カスタム 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 テーブルでの構造化参照の使用」を参照してください。

次の図は、セル A1B1 の値を追加した Excel 計算の Python を示しています。Python の結果はセル C1 で返されます。 

Excel と Python の間のインターフェイスには、カスタム Python 関数 xl() を使用します。

数式バー 

Enter キーを使用して新しい行を作成する場合など、コードに似た編集動作には数式バーを使用します。 下矢印アイコンを使用して数式バーを展開し、一度に複数のコード行を表示します。 キーボード ショートカット Ctrl + Shift + U キーを使用して数式バーを展開することもできます。 次のスクリーンショットは、展開の前後に数式バーを示し、複数行の Python コードを表示します。

数式バーを展開する前に: ... 

数式バーを展開した後:   

数式バーを展開して、コード行をさらに表示します。

ヒント: さらに大きなコード編集領域とテキストの色付けや IntelliSense などの機能については、 Excel コード エディターで Python を使用します。

出力の種類 

数式バーの Python 出力メニューを使用して、Python 計算の返し方を制御します。 計算を Python オブジェクトとして返すか、計算を Excel 値に変換し、セルに直接出力します。 次のスクリーンショットは、Excel 値として返される Python 数式を示しています。 

ヒント: 右クリック メニューを使用して、Python 出力の種類を変更することもできます。 右クリック メニューを開き、[Python 出力] に移動し、目的の出力の種類を選択します。

Python 出力メニューを使用して、出力の種類を切り替えます。

次のスクリーンショットは、前のスクリーンショットと同じ Python 数式を示しています。現在は Python オブジェクトとして返されています。 数式が Python オブジェクトとして返されると、セルにカードアイコンが表示されます。

注: Excel 値に返される数式の結果は、最も近い Excel に変換されます。 将来の Python 計算で結果を再利用する場合は、結果を Python オブジェクトとして返することをお勧めします。 Excel 値として結果を返すと、Excel のグラフ、数式、条件付き書式などの Excel 分析を値に対して実行できます。

データが Python オブジェクトとして返されると、セルに Python カード アイコンが表示されます。

Python オブジェクトには、セル内の追加情報が含まれています。 追加情報を表示するには、カード アイコンを選択してカードを開きます。 カードに表示される情報はオブジェクトのプレビューであり、ラージ オブジェクトを処理するときに便利です。

Excel の Python では、Python オブジェクトとしてさまざまな種類のデータを返すことができます。 Excel データ型の便利な Python は DataFrame オブジェクトです。 Python DataFrames の詳細については、「 Excel DataFrames の Python」を参照してください。  

外部データのインポート 

Excel で Python を使用して処理するすべてのデータは、ワークシートまたはPower Queryから取得する必要があります。 外部データをインポートするには、Excel の Get & Transform 機能を使用して、Power Queryにアクセスします。 詳細については、「Power Queryを使用して Excel で Python のデータをインポートする」を参照してください。 

重要: セキュリティを保護するために、Pandas.read_csvやpandas.read_excelなど、Python の一般的な外部データ関数は、Excel の Python と互換性がありません。 詳細については、「 Excel のデータ セキュリティと Python」を参照してください。

計算の順序 

従来の Python ステートメントでは、上から下に計算されます。 Excel の Python セル内では、Python ステートメントも同じ処理を実行します。これらは上から下に計算されます。 ただし、Excel ワークシートの Python では、Python セルは行メジャー順に計算されます。 セルの計算は、(列 A から列 XFD まで) 行全体で実行され、ワークシートの下の各行で実行されます。 

Python ステートメントは順序付けされているため、各 Python ステートメントは、計算順序の直前にある Python ステートメントに対する暗黙的な依存関係を持ちます。  

計算順序は、ワークシートで変数を定義して参照する場合に重要です。変数を参照するには、変数を定義する必要があるためです。  

重要: 行メジャーの計算順序は、ブック内のワークシート全体にも適用され、ブック内のワークシートの順序に基づいています。 Excel で複数のワークシートを使用して Python を使用してデータを分析する場合は、データと、そのデータを分析するセルとワークシートの前にあるセルとワークシートにデータを格納する変数を必ず含めます。   

計算 

Python セルの依存値が変更されると、すべての Python 数式が順番に再計算されます。 Python の再計算を中断してパフォーマンスを向上させるには、 部分計算 モードまたは 手動計算 モードを使用します。 これらのモードを使用すると、準備ができたときに計算をトリガーできます。 この設定を変更するには、リボンに移動して [数式] を選択し、[ 計算オプション] を開きます。 次に、目的の計算モードを選択します。 部分計算モードと手動計算モードでは、Python とデータ テーブルの両方の自動再計算が中断されます。

Python の開発中にブックの自動再計算を無効にすると、パフォーマンスと個々の Python セルの計算速度が向上します。 ただし、各 Python セルの精度を確保するには、ブックを手動で再計算する必要があります。 部分計算モードまたは手動計算モードでブックを手動で再計算するには、3 つの方法があります。

  1. キーボード ショートカット F9 を使用します。

  2. リボン の [数式] > [ 今すぐ計算 ] に移動します。

  3. 取り消し線の書式設定で表示された古い値のセルに移動し、そのセルの横にあるエラー 記号を選択します。 次に、メニューから [ 今すぐ計算 ] を選択します。

エラー 

Excel の計算では、#PYTHON!、#BUSY!、#CONNECT などのエラーが返される場合があります。 を Python セルにコピーします。 詳細については、「 Excel エラーでの Python のトラブルシューティング」を参照してください。

関連記事 

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。