初心者向けPython:Excel作業を自動化したい人のためのPython in Excel

designer

Excelでの集計やデータ加工をしていると、
「この作業、毎回同じ手順を繰り返しているな」
「手作業でもできるけど、正直ちょっと面倒だな」
と感じることはないでしょうか。

これまで、Excel作業を効率化する方法といえば VBA(マクロ) が代表的でした。
一方で、「覚えるハードルが高い」「エラーが起きると直せない」といった理由から、導入をためらっている人も多いと思います。

そんな中で登場したのが Python in Excel です。
Python in Excelは、Excelの中でPythonを直接使い、データの集計や加工、簡単な分析を行える機能です。

ただし、ここで一つ大切な点があります。
Python in Excelは、いわゆる「完全な自動化ツール」ではありません。
ファイルを開いたまま、必要なときにPythonのコードを実行し、結果をExcel上に反映させる――
あくまで 対話的に処理を行うための仕組みです。

その一方で、Python in Excelを使うことで、

  • 手作業で行っていた複雑な集計をコードでまとめる
  • 毎回同じ操作手順を「再現可能な形」で残す
  • Excel関数では書きにくい処理をシンプルに表現する

といったことが可能になります。
「完全自動化」ではないにせよ、日々のExcel作業を確実にラクにする強力な選択肢と言えるでしょう。

この記事では、
「Python in Excelを本当に初めて使う人」 を対象に、

  • Python in Excelで何ができるのか
  • 難しい準備は必要なのか
  • 実際にどんなコードを書くのか

を、できるだけシンプルな例を使いながら紹介していきます。

プログラミング未経験でも大丈夫です。
まずは、「Excel作業を少し整理して、考えずに繰り返せる状態にする」
その第一歩として、Python in Excelを触ってみましょう。

Python in Excelの始め方

image
image

初期化をクリックすると、初期状態でインストールされたPythonのライブラリを一覧で参照することができます。

  • Pandas
  • Numpy
  • Matplotlib

などの主要ライブラリがあらかじめ読み込み済みです。

つまり、ユーザーがimportを意識しなくても、すぐに使用開始できる状態です。

image

通常の関数と同様に=pyを入力し、Python式を作成をクリックしてみます。

image

これでPythonのコードを入力できます。

基本的な計算

簡単な計算を入れてテストしてみましょう。

image

基本的な計算の横のセルにPythonコードを入れてみると結果が計数されます。

※実行はCTRL+ENTERで行います。

Returnで結果を返す必要はありません。ExcelでのPythonコードの実行は最終的な計数結果が自動的にセルに反映されます。

データ型を組み合わせる

次にPythonの変数を定義します。sに文字列”Hello World”を定義し、sとlen関数で文字列の長さを合わせた文字列を出力してみます。

image
image

CTRL+ENTERで確認してみると、#PYTHON!エラーが返ってきます。

トラブルシューティングは、隣の注意マークをクリックすると詳細がわかります。

image
image

データ型の違いがエラーを起こしているようです。len()関数は常にint(整数型)を返しますので、str(文字列)に変えましょう。

image
image

正しい結果を返しました。

セルの[PY]表示について気づく方もいるかもしれません、これは出力の種類がPythonになっていることが原因ですが、特にエラーを起こしているわけでもないので、このまま進めます。

詳細は下の記事で解説していますので、参考になさってください。

image

Python in Excel – 出力の種類:Pythonオブジェクト vs Excel値 – Lean Data Office

他のセルのデータを使用する

他のセルデータを使用して計算結果を返してみましょう。ここです。上記で計算したC2セルを参照します。

xl() は Python in Excel 専用の関数で、Excel のセルや範囲を Python 側に渡すことを意味します。

xl()関数についての詳細は以下。

初心者向け Python in Excel:xl() 関数でセルの値をPythonから扱う方法 – Lean Data Office

image

セル範囲を直接打ち込むこともできますし、指定したいセル範囲をクリックすることも可能です。

image

CTRL + ENTERで期待通りの結果が返りました。

image

Pythonの変数を参照する

Python in Excelでは、他セルで指定した変数を参照することも可能です。

ここでは、C5で定義した。s = “Hello World” を参照し、別関数でsを活用した結果を返してみます。

image

upper()関数を活用し、sに含まれる文字をすべて大文字に変えてみます。

image
image

期待通り、C5セルで定義した変数を参照することができました。

まとめ

Python in Excel は、Excel作業をPythonで少し整理するための機能です。
VBAのように完全自動化を目指すものではなく、Excelを開いたまま、必要なときに処理を再現できるのが前提になります。

この記事では、Python in Excelを使い始めるうえで最低限知っておくべき点を確認しました。

まずは難しいことは考えず、手作業で繰り返している計算や集計をそのままPythonで書いてみるだけで十分です。
Python in Excel は、Excel作業を「自動化」する前の、整理するための第一歩として使うのがちょうどよいツールです。

筋トレとオートメーションが趣味。 モバイルアプリ個人開発者。 データ処理・可視化とレポートにハマり備忘録と情報共有のためにブログ開設し運営している。