Python in Excelの​紹介

Ryuji Tsutsui

Open Source Conference 2024 Online/Spring資料

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License .

は​じめに

自己紹介

[PR]4/11(木) 20:30に​「Python Boot Camp オンライン相談会 - Spring'24」を​開催します

Pythonチュートリアルイベント​「Python Boot Camp」の​開催に​興味が​ある​人向けに​オンライン相談会を​開催します。

4/11(木) 20:30開催です。​参加登録先は​こちら​↓

https://pyconjp.connpass.com/event/310564/

今​日話したい​こと

Excelの​新機能​「Python in Excel」に​ついて​紹介します。

セミナーの​対象者

以下の​いずれかに​該当する人。

  • Excelを​使って​データ解析、​集計を​行っている​人

  • Pythonを​使って​データ解析、​集計を​行っている​人

  • Excelの​新機能に​興味が​ある​人

(※Pythonの​経験が​なくても​大丈夫です)

この​セミナーを​やる​モチベーション

  • 私は、​Python Boot Campと​いう​Pythonチュートリアルイベントで​講師を​やっている

  • Pythonに​興味を​持つ人を​増や​したい

  • Python in Excelを​知って​もらう​ことで、​Pythonの​使い道を​イメージできる​人が​いるかも?​ と​いう​期待が​ある

セミナーの​構成

  • Python in Excelの​概要

  • Python in Excelの​使い方​(基本編)

  • Python in Excelの​使い方​(応用編)

Python in Excelの​概要

Python in Excelとは

  • =PY() と​いう​Excel関数を​使って、​Excelの​セルに​Pythonコードを​埋め込める

  • 「VBAを​Pythonで​書けるように​する​機能」ではない

  • 2024年3月2日現在、​Python in Excelは​プレビュー段階の​機能で、​Windows版Excel​(Excel for Windows)​のみで​利用可能

導入方​法(1)

プレビュー段階の​機能を​利用するには、​「Microsoft 365 Insider」の​ベータチャネルに​サインアップする。

導入方​法(2)

どんな​仕組みか

PythonコードはMicrosoft Cloud上で実行される

Pythonコードは​Microsoft Cloud上で​実行される

セキュリティに​ついて​(1)

他人が​書いた​不正な​コードの​実行を​防ぐ​ため、​以下の​制限が​ある。

  • Excelの​外に​ある​ローカルリソースへの​アクセス

  • ネットワークアクセス

  • 数式、​グラフ、​ピボットテーブル、​マクロ、​VBA コードなど、​Excelブック内の​他の​プロパティへの​アクセス

セキュリティに​ついて​(2)

Python実行環境の​セキュリティアップデートは​Microsoft Cloudが​やってくれる。

セキュリティに​ついて​(3)

Pythonコードが​含まれている​Excelファイルの​入手元が​インターネットまたは​信頼されていない​ソースの​場合、​これを​開くと​保護ビューが​有効に​なり、​Pythonは​実行されない。

Power Queryに​ついて

  • Pythonからの​ネットワークアクセスが​できないので​外部リソースの​読み込みは​できない

  • その​代わり、​Power Queryを​使って​外部リソースの​データを​セルに​取り込んでから​Pythonで​読み取る​ことは​できる

Python in Excelの​使い方​(基本編)

簡単な​計算を​やってみる

デモを​やります。

「出力形式」とは

=PY() Excel関数の​出力形式には、​以下の​2種類が​ある。

  • Pythonオブジェクト​(デフォルト)

  • Excelの​値

Pythonオブジェクト

  • Pythonコードの​実行結果を​そのまま​埋め込む出力形式

  • 以下の​ように​ひし形が​2つ重なった​アイコンが​表示される

ひし形の​アイコンから​オブジェクトに​関する​情報を​確認

オブジェクトに関する情報を確認

オブジェクトに​関する​情報を​確認

Excelの​値

  • 出力結果を​人間に​見せる​際に​使う​出力形式

  • 後述する​グラフを​作成する​際には​これを​使う

グラフを​作成してみる

デモを​やります。

「コアライブラリ」とは

  • Python in Excelでは​Anacondaに​同梱されている​ライブラリの​一部が​利用できる

  • よく​使う​ライブラリは​import文を​書かずに​使える

  • これを​「コアライブラリ」と​呼ぶ

コアライブラリの​一覧

Excel の​オープンソース ライブラリと​ Python - Microsoft サポート を​参照。

Python in Excelの​使い方​(応用編)

デモで使うサンプルファイル

Python in Excelに​関する​情報ソース(1)

Microsoft公式サイト​(日本語)

https://support.microsoft.com/ja-jp/office/python-in-excel-%E3%81%AE%E6%A6%82%E8%A6%81-55643c2e-ff56-4168-b1ce-9428c8308545

Python in Excelに​関する​情報ソース(2)

Anacondaの​チュートリアル動画​(英語)

https://freelearning.anaconda.cloud/get-started-with-python-in-excel-course

Python in Excelに​関する​情報ソース(3)

Anacondaの​公式ブログ​(英語)

https://www.anaconda.com/resource-topic/python-in-excel

Python in Excelの​ベストプラクティスとは

Load raw data, convert once, and reuse

https://freelearning.anaconda.cloud/get-started-with-python-in-excel-course/113133

つまり、​どういう​ことか

  • データは​そのままだと​使いにくい​場合が​よく​あるが、​直接加工しない方が​いい

  • 直接加工してしまうと​再利用が​難しくなるので

  • データの​加工は​Pythonで​行う

横浜市の​オープンデータを​使ってみる​(デモ)

横浜市が​公開している​有効求人倍率の​データを​グラフ化してみる。

https://www.city.yokohama.lg.jp/city-info/yokohamashi/tokei-chosa/portal/opendata/rodo-kyujin.html

Power Queryと​組み合わせてみる​(デモ)

以下​サイトの​スクレピングを​やってみる。

https://www.pycon.jp/support/bootcamp.html

Python in Excelでの​Pythonの​実行順序

  • 一番左の​シート、​一番上の​行から​実行される

  • 行ごとに、​一番左の​セルから​最後の​セルまで​実行される

参考: Excel での​ Python の​概要 - Microsoft サポート の​「計算順序」

最後に

まとめ

  • Python in Excelは、​セルに​Pythonコードを​埋め込める​機能

  • Pythonコードは​クラウド上で​動くので​ローカルでの​Pythonインストールは​不要

  • 不正な​コードを​実行しないように​セキュリティも​バッチリ

  • Anacondaの​一部​ライブラリが​使える

  • Power Queryと​組み合わせると​超便利

ご清聴​ありがとう​ございました

AIが考えた「Python in Excelのパワーのおかげで爆速で仕事を進めるビジネスマン」

AIが​考えた​「Python in Excelの​パワーの​おかげで​爆速で​仕事を​進める​ビジネスマン」