こんにちはGMOインターネット、ビジネスサポートプロダクトチームの倉持です。ExcelにPythonのアイコンとともに「Pythonの挿入」機能が表示されていることに気づき気になっていました。今回は「触ってみて動きを確認する」というテーマでゆったりと書いてみたいと思います。
この機能は何?
契約などによって、この機能の利用可否が決まるようです。詳細はマイクロソフトのページで確認いただければと思います。=PY()という関数が追加され、そこにPythonコードを書くとクラウドでコードが実行されて内容を表示するという仕組みになっているようです。ということで思いついたものでいくつか試していくことにします。
文字列結合:SQLをF-Stringで組み立て!
Excelで大量のデータを使ってSQL文を組み立てる作業ありますよね?(スクリプト書いたり、テキストエディタのマルチカーソル、矩形選択、正規表現一括置換を活用したりのほうがメジャーですか?)従来のExcel関数を駆使するパターンだと、たとえば
=="UPDATE users SET a="&"a='"&A1&"' where id="&B1&";"
のように、&記号とダブルクォートの羅列で個人的には、とにかく面倒でした。=PY()関数を使えば、Pythonのf-string(フォーマット済み文字列リテラル)が使えます!
そして普通のセルのようにコピペしてこんな感じです。
Pythonのf-stringになれている人だとこちらのほうがさっと組み立てられるかも?と思いました。今回の目的は使ってみる事なのでこれでOKということで次!
ちょっとした画像生成:QRコードをさくっと出す
Pythonには便利なライブラリがたくさんありますよね。QRコード生成もそのひとつです。例えば、資料のURLをExcelで管理しているとして、その横にQRコードを表示するとかどうですかね。=PY()関数は、生成した画像をExcelのセルにオブジェクトとして返したり、このように表示することもできました。
ANACONDAがベースとどこかで見ましたが、こちらにも表示されていました。コードがシンプルなのでなんとなく可能性を感じます!
データ可視化:ヒートマップで傾向を掴む
Python、データ分析でよくあるのはデータの可視化ですよね。ヒートマップとかどうでしょうか?
これも使いどころは置いておいて可能性を感じます。
おわりに
今回触ってみた印象としては、なんか使えそうな気がする!でした。ところで色々と他にも試しているとき、こんな表示が出ました。機能によっては有料枠消費?になるものもあるようです。本格利用する場合はこちらも確認いただいたほうがよさそうです。
あわせて、AI (Copilot)との連携も今後期待できそうな気がしています。コードサンプルの多いPythonはAIも得意だと思います。Excelと組み合わさることで自然言語で意図を伝えるだけでより高い表現力を手に入れた助手が資料をまとめてくれるようになるかもしれません。