Python in Excel の使用を開始する
Applies To
Excel for Microsoft 365Excel の Python は、バージョン 2407 (ビルド 17830.20128) 以降、および 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 に指示します。
または、セルで 関数 =PY を 使用して Python を有効にします。 セルに =PY と入力した後、下方向キーと Tab キーを使用して関数オートコンプリート メニューから PY を選択するか、関数に開始かっこ =PY() を追加します。 これで、セルに Python コードを直接入力できます。 次のスクリーンショットは、PY 関数が選択された AutoComplete メニューを示しています。
セルで Python が有効になると、そのセルに PY アイコンが表示されます。 数式バーには、Python セルが選択されている場合に同じ PY アイコンが表示されます。 例については、次のスクリーンショットを参照してください。
Python と Excel のセルと範囲を組み合わせる
Python セル内の Excel オブジェクトを参照するには、Python セルが編集モードであることを確認し、Python 数式に含めるセルまたは範囲を選択します。 これにより、選択したセルまたは範囲のアドレスが Python セルに自動的に設定されます。
ヒント: キーボード ショートカット F2 を使用して、Python セルで Enter モードと編集モードを切り替えます。 [編集モード] に切り替えて Python 数式を編集し、[Enter] モードに切り替えることで、キーボードで追加のセルまたは範囲を選択できます。 キーボード ショートカットの詳細については、「Excel キーボード ショートカットの Python」を参照してください。
xl() を使用して、Excel と Python の間のインターフェイスを作成します。 xl() 関数は、範囲、テーブル、クエリ、名前などの Excel オブジェクトを受け入れます。
Excel の Python では、カスタム Python 関数xl() 関数を使用して、Python セルに参照を直接入力することもできます。 たとえば、セル A1 を参照するには xl("A1") を使用し、 範囲 B1:C4 には xl("B1:C4")を使用します。 MyTable という名前のヘッダーを持つテーブルの場合は、 xl("MyTable[#All]", headers=True)を使用します。 [#All] 指定子を使用すると、テーブル全体が Python 数式で分析され、 headers=True テーブル ヘッダーが正しく処理されます。 [#All] などの指定子の詳細については、「Excel テーブルでの構造化参照の使用」を参照してください。
次の図は、セル A1 と B1 の値を追加した Excel 計算の Python を示しています。Python の結果はセル C1 で返されます。
数式バー
Enter キーを使用して新しい行を作成する場合など、コードに似た編集動作には数式バーを使用します。 下矢印アイコンを使用して数式バーを展開し、一度に複数のコード行を表示します。 キーボード ショートカット Ctrl + Shift + U キーを使用して数式バーを展開することもできます。 次のスクリーンショットは、展開の前後に数式バーを示し、複数行の Python コードを表示します。
数式バーを展開する前に:
数式バーを展開した後:
ヒント: さらに大きなコード編集領域とテキストの色付けや IntelliSense などの機能については、 Excel コード エディターで Python を使用します。
出力の種類
数式バーの Python 出力メニューを使用して、Python 計算の返し方を制御します。 計算を Python オブジェクトとして返すか、計算を Excel 値に変換し、セルに直接出力します。 次のスクリーンショットは、Excel 値として返される Python 数式を示しています。
ヒント: 右クリック メニューを使用して、Python 出力の種類を変更することもできます。 右クリック メニューを開き、[Python 出力] に移動し、目的の出力の種類を選択します。
次のスクリーンショットは、前のスクリーンショットと同じ Python 数式を示しています。現在は Python オブジェクトとして返されています。 数式が Python オブジェクトとして返されると、セルにカードアイコンが表示されます。
注: Excel 値に返される数式の結果は、最も近い Excel に変換されます。 将来の Python 計算で結果を再利用する場合は、結果を Python オブジェクトとして返することをお勧めします。 Excel 値として結果を返すと、Excel のグラフ、数式、条件付き書式などの Excel 分析を値に対して実行できます。
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 つの方法があります。
-
キーボード ショートカット F9 を使用します。
-
リボン の [数式] > [ 今すぐ計算 ] に移動します。
-
取り消し線の書式設定で表示された古い値のセルに移動し、そのセルの横にあるエラー 記号を選択します。 次に、メニューから [ 今すぐ計算 ] を選択します。
エラー
Excel の計算では、#PYTHON!、#BUSY!、#CONNECT などのエラーが返される場合があります。 を Python セルにコピーします。 詳細については、「 Excel エラーでの Python のトラブルシューティング」を参照してください。