Excel

Python in Excelのパブリックプレビューがリリースされました。

※ 本記事の内容は、2023年8月時点ではまだパブリックプレビュー段階である情報を元にしています。今後仕様等変更される可能性がある点には十分にご注意ください。


下記記事で書かれている通り、Pythonの強力なデータ分析や視覚化ライブラリをExcelワークブック内で使用することができる機能、「Python in Excel」のパブリックプレビューがMicrosoft 365 Insider Program加入者向けにリリースされました。

Today, we are excited to introduce the Public Preview of Python in Excel – making it possible to integrate Python and Excel analytics within the same Excel grid for uninterrupted workflow.

Python in Excel combines Python’s powerful data analysis and visualization libraries with Excel’s features you know and love. You can manipulate and explore data in Excel using Python plots and libraries, and then use Excel’s formulas, charts and PivotTables to further refine your insights.

https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482 より

Python in Excelとは

Python in Excelの概要はGitHubに詳しく書かれていたので、こちらから引用させていただきます。
(機械翻訳を使用しているので訳におかしい部分があるかもしれません。)

Python in Excel is a new feature that allows you to natively combine Python and Excel analytics within the same workbook. With Python in Excel, you can type Python code directly into a cell, the Python calculations run in the Microsoft Cloud, and your results are returned to the worksheet, including plots and visualizations.

Python in Excelは、同じワークブック内でPythonとExcelの分析をネイティブに組み合わせることができる新機能です。Python in Excelでは、セルに直接Pythonコードを入力でき、Pythonの計算はMicrosoft Cloud上で実行され、プロットやビジュアライゼーションを含む結果がワークシートに返されます。

Python in Excel leverages Anaconda Distribution for Python running in Azure, which includes the most popular Python libraries (e.g. pandas, Matplotlib, scikit-learn, etc.), and is securely built, tested, and supported by Anaconda. Python code used by Excel runs on the Microsoft Cloud with enterprise-level security as a compliant Microsoft 365 connected experience. The Python code runs in its own hypervisor isolated container using Azure Container Instances and secure, source-built packages from Anaconda through a secure software supply chain.

Python in Excelは、Azure上で実行されるPythonのAnacondaディストリビューションを活用します。これには最も人気のあるPythonライブラリ(例えばPandas、Matplotlib、scikit-learnなど)が含まれており、Anacondaによって安全な構築やテストがサポートされています。Excelで使用されるPythonコードは、Microsoft 365での接続エクスペリエンスに準拠したエンタープライズレベルのセキュリティを備えたMicrosoft Cloud上で実行されます。Pythonコードは、Azure Container Instances上に構築された独自のハイパーバイザー分離コンテナ内でセキュアに実行されます。また、安全なソフトウェアサプライチェーンを通じて、Anacondaからソース構築ビルドパッケージが提供されます。

https://github.com/microsoft/python-in-excel より

要するに、“ブック内で、Azure Container Instances上に構築されたハイパーバイザー分離コンテナで実行されるPythonコードを使って安全にデータ解析なりグラフ作成なり色々できるようになる”、ということでしょうか。

公式の紹介動画がすでに公開されているので、これを見るとどのような機能なのかが掴みやすいですね。

Microsoft 365 Insider Programへの参加

タイトルの通り、2023年8月時点ではPython in Excelはパブリックプレビューの段階であり、利用するにはMicrosoft 365 Insider Programに参加する必要があります。
(※ 参加方法は下記サイトで詳しく解説されています。)

本機能は Excel for Windows ビルド 16.0.16818.20000 から順次展開される予定であるため、2023年8月23日時点ではBeta ChannelのExcelをインストールする必要があります。Office Deployment Tool(ODT)を使ったBetaChannelのインストール方法については下記Learn資料をご参照ください。

Python in Excelの実行

Python in Excelが実行できるようになると、「数式」タブに「Python (プレビュー)」グループ(OfficeコントロールID:GroupPythonChunk)が追加されます。

「Python の挿入」ボタン(OfficeコントロールID:InsertPython)をクリックすると、初回実行時には下図のように「Python in Excel を試す」ダイアログが表示されるので、画面の指示にしたがって「プレビューを試す」ボタンをクリックします。

「Python in Excel ツアー」ボタンをクリックすると、簡単な機能の説明が表示されます。

セルや数式バーに「=PY」と入力、あるいは関数の挿入ダイアログから「PY」関数を挿入することで機能を実行することができます(「Python の挿入」ボタンの下部から「Python in Excel」ボタン(OfficeコントロールID:PythonInExcelOption)をクリックしても可)。

具体的な使い方については、「Python の挿入」ボタンの下部から「Python サンプルを試す」ボタン(OfficeコントロールID:TryPythonSamples)をクリックすることで作業ウィンドウにいくつかのサンプルが表示されるので、そちらを見ると分かりやすいでしょう。

Python in Excelの特徴

下記ページにPython in Excelの特徴が箇条書きで分かりやすくまとめられていました。

  • Python コードは、Azure Container Instances
    上に構築されたハイパーバイザー分離コンテナーで実行されます。
  • コンテナーには、Python と Anaconda によって提供されるセキュリティで保護されたライブラリのキュレーション セットがあります。
  • この環境では、Anaconda から直接提供されるソースビルドの Python とライブラリを含む、Anaconda Distribution for Python を使用します。
  • Python コードは、コンピューター、デバイス、またはアカウントにアクセスできません。
  • Python コードにはネットワーク アクセス権がありません。
  • Python コードには、ユーザー トークンへのアクセス権がありません。
  • Python コードは、Python 数式の一部として組み込みの xl() 関数を使用して、参照を介してデータにアクセスできます。 つまり、Python 数式では、ブック内のセル値を、セル参照に基づいて読み取ったり、外部データ ソースの値をPower Query接続名で読み取ったりできます。
  • Python コードは、関数が入力されたセルの Python コードの結果を表示する =PY() Excel 関数を介してブックに出力を返します。 Python 関数は、マクロ、VBA コード、その他の数式などの他のオブジェクト型を返すことはできません。
  • Python コードは、数式、グラフ、ピボットテーブル、マクロ、VBA コードなど、ブック内の他のプロパティにアクセスできません。

https://support.microsoft.com/ja-jp/office/33cc88a4-4a87-485e-9ff9-f35958278327 より

これを見る限りでは、ブック上でPythonが実行できるようになったといってもデバイスは元よりブック内の他のプロパティにもアクセスできない、といった制限も多いようです。
(PythonによるVBAの置き換えを望んでいた方には残念な仕様かもしれませんが…)

ただ、充実したPythonのライブラリが使えるようになる上にピボットや条件付き書式などのExcelの標準機能を組み合わせられるのは非常に強力だと思います。

Excelの可能性がさらに広がること間違いなしの機能ですので、日々Excelをお使いの方は是非チェックしてみてください。
ただ、現時点(2023年8月)では本機能を無料で利用できますが、本番リリース後には有料になる可能性もありますので、その点には注意しておきましょう。

参考Webサイト

関連記事

[Power Automate for desktop]カスタム アクションの入力パラメーターでファイルやフォルダを指定する方法前のページ

[Python in Excel]Excelの値として出力するかPythonオブジェクトとして出力するか次のページ

関連記事

  1. Office関連

    [Office 2013]コントロール日英比較表

    日本語版と英語版のOffice 2013でコントロール(コマンド)名や…

  2. Office関連

    VBAの力量をはかる3つの質問

    先日、Twitterではけた氏の面白いツイートがありました。3…

  3. Office関連

    ClosedXMLやEPPlusでExcelファイルを読み書きしてみた。

    今回の記事の発端は下記のQiita投稿。・Excelファイ…

  4. Office関連

    7-Zipで圧縮・解凍を行うVBAマクロ

    「7-Zip VBA」といったキーワード検索でのアクセスがありました。…

  5. Office関連

    ファイルをBase64エンコード・デコードするVBAマクロ

    以前書いたファイルのBase64エンコード・デコード処理を行うVBAマ…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP