関連言語

PythonでExcelの機能を強化!効率的なデータ処理の秘訣

ExcelとPythonはそれぞれ強力なデータ処理ツールとして知られています。ExcelとPythonのそれぞれを使いこなしている人にとって、その2つを組み合わせて使うと何ができるのか、気になりますよね?

そこで本記事では、PythonによるExcel操作で何ができるのか、メリットとデメリットを紹介します。また、Excel内でPythonを使用する「Python in Excel」についても簡潔に紹介します。ExcelとPythonの相乗効果でさらなる業務効率化を進めましょう。

この記事でわかること
  • PythonによるExcel操作で何ができるのか?
  • PythonによるExcel操作の具体的な方法
  • PythonによるExcel操作の適用事例
  • 「Python in Excel」について

PythonによるExcel操作で何ができるのか?

まず、PythonでExcelを操作することによって何ができるのか、について紹介します。

Pythonを使うことで、Excelのみで行えていたことに加えて、Excel以外のデータやアプリケーションとの連携が可能となります。

pythonによるexcel操作でできること
  • Excelファイルの読み込みと書き込み
  • データの分析と処理
  • グラフやチャート作成
  • タスクの自動化
  • WEBスクレイピング
  • ExcelとExcel以外のアプリケーションの連携
  • Excelの印刷設定

現在ではExcelは実務のさまざまな場所で欠かせない存在となっています。そのExcelの作業範囲を拡げてくれる存在がPythonです。

PythonとExcel VBAの違い

Excelの自動化の方法として、Pythonの他にExcel VBAがあります。

PythonとExcel VBAの違いとして、汎用性、再利用性、パフォーマンスが挙げられます。

まず、PythonはWeb開発やデータ分析、機械学習など、さまざまな領域で使用される、汎用的なプログラミング言語です。それに対し、Excel VBAはExcel専用のプログラミング言語であり、Excel内部でマクロを作成するために使用されます。

また、Pythonは高い再利用性があり、コードのモジュール化やパッケージ化が容易です。それに対し、Excel VBAは特定のExcelファイルに関連付けられていて、他のExcelファイルで再利用するのが難しい場合があります。

さらに大量のデータを処理する場合、Pythonの方がExcel VBAよりもパフォーマンスが優れています。

PythonによるExcel操作のメリット

それでは、PythonでExcel操作を行うことのメリットはどういった点でしょうか?

  • 環境に依存しない
  • Excel以外のアプリケーションと連携可能
  • Python習得の足掛かりにできる

まず、WindowsとMacのような環境に依存しないというメリットがあります。
Excel VBAで作成したマクロは、WindowsとMacのそれぞれのExcelで互換性がありません。それに対しPythonはごく一部の限定された部分を除き、WindowsとMacの両方で動作可能です。

次にExcel VBAはExcelのためのプログラミング言語なので、Excelのみで動作します。それに対しPythonは、オープンソースのプログラミング言語で、そのためのライブラリも豊富なので、Excelだけでなく、例えばGoogleスプレッドシートとの連携も可能です。

さらにPythonはExcel操作以外にもさまざまな場面で使用されていて、pythonによるExcel操作を習得することは、それ以外のPythonプログラミングの習得の足掛かりになることもメリットの1つです。

PythonによるExcel操作のデメリット

しかし、PythonでExcel操作を行うことにもデメリットがあります。

  • Pythonが動作可能な環境を構築する必要有

Excel VBAはExcelが使える環境であれば使用可能ですが、Pythonはインストールをして、動作可能な環境を構築する必要があります。また、Pythonのバージョンによってはコードの書き方が変わったり、ライブラリのバージョンが変わったりする場合があり、その点もデメリットの1つです。

迷わない!Pythonの環境構築と操作方法を簡単解説 前のページ|次のページ 2章では、AnacondaとJupyter Notebookを利用して、Pythonを学習する環境を構築し...

PythonによるExcel操作の具体的な方法

PythonでExcel操作するためには、openpyxlやpandasなどのライブラリを使用します。

openpyxlとpandasを使用する方法について、簡単な例を紹介します。

openpyxlで使用する方法

openpyxlライブラリを使用して、既存のExcelファイルを開いて編集することができます。

from openpyxl import load_workbook

# Excelファイルを開く
wb = load_workbook('example.xlsx')

# ワークシートを選択
ws = wb.active

# セルの値を変更
ws['A1'] = 'Hello, Excel!'

# Excelファイルを保存
wb.save('example.xlsx')

この例では、example.xlsxというExcelファイルのA1セルの内容を、’Hello, Excel!’に変更するというものです。
例えば請求書データのExcelファイルの請求先情報を変更して印刷したい場合は、上記のA1セルを請求先情報が入っているセルに変更して、’Hello, Excel!’を請求先情報に変更すれば可能になります。

pandasで使用する方法

pandasライブラリのread_excel関数を使用して、Excelファイルを読み込むことができます。

import pandas as pd

# Excelファイルを読み込む
df = pd.read_excel('example.xlsx')

# データを表示
print(df)

この例では、example.xlsxというExcelファイルの中身を表示するというものです。
例えば複数の中身のわからない、似たようなExcelファイルがある場合は、上記のファイル名を変更すれば中身の確認が可能になります。

また、pandasライブラリのto_excel関数を使用して、データフレームをExcelファイルに書き込むこともできます。

import pandas as pd

# 新しいデータフレームを作成
data = {'Name': ['John', 'Anna', 'Peter'],
'Age': [28, 24, 35]}
df = pd.DataFrame(data)

# Excelファイルに書き込み
df.to_excel('output.xlsx', index=False)

この例では、新しく作成したデータフレームをoutput.xlsxというExcelファイルに出力するというものです。
上記ではコード内にデータフレームを作成していますが、データフレームを別ファイルから読み込み、さらに別ファイルへ出力する、という使い方も可能です。

簡単な使用例を紹介しましたが、もう少し詳しく知りたい場合は以下の記事も参考にしてください。

【Pandas】CSV・Excelファイルを読み書きする方法 前のページ|次のページ 10章ではPandasのDataFrameを用いた『CSV/Excelファイルへの書き込み』および『CS...

Tech Teacherではフルオーダーメイド型の個別指導を提供しており、PythonによるExcel操作を自分のペースでマスターすることができます!

PythonによるExcel操作の適用事例

ここでは実際にPythonによるExcel操作の適用事例について紹介します。

レポートの自動作成

PythonでExcelを操作することによって、Excelで管理されている売上データや在庫データ、顧客情報などを元に、レポートや請求書、納品書などを作成することが可能です。
例えば、PythonでExcelファイルから必要なデータを読み込み、グラフ化してPDFやpowerpointでレポートを作成したり、PDFで請求書や納品書を既定のフォーマットで作成することができます。

リアルタイムのデータ更新

Pythonの外部のデータソースにアクセスできる特長を活かして、リアルタイムにデータの更新を行うことが可能です。
例えば、データベースやWeb上の売上データにアクセスして、その結果をExcelに自動で反映することができます。また、Web上の株価の情報を毎日取得し、その情報をExcelに追記していくことも可能です。

データのクリーニング

Pythonを使って、Excelのデータをクリーニングすることも可能です。
例えばExcelで管理されている売上データを読み込み、欠損しているデータや異常データを検出して、そのデータを除外したり適正なデータに修復する、といった処理を行うことができます。これは、Excel内のデータの品質を管理することにつながります。

「Python in Excel」について

ここまではPythonでExcelの操作を行うことについて紹介してきました。

そこでここでは、ExcelでPythonを実行することができる「Python in Excel」について紹介します。

Python in Excelとは?

Python in Excelとは、2023年8月にMicrosoftからパブリックプレビューが公開された、Excel内でpythonの処理を実行できる機能のことです。

Excelで管理されているデータに対して、Pythonを使ってデータの分析や可視化を実行できるので、Excel単独では行えなかったデータ分析や可視化が可能となります。

Excelでデータを管理していてExcelに慣れている人が、Pythonでのデータ分析や機械学習モデルを活用した予測などを行う場合におすすめです。

PythonによるExcel操作との違い

Python in ExcelとPythonによるExcel操作には、どういった違いがあるのでしょうか?

Python in Excel
主体はExcelであり、Excel内にPythonコードを書くことができる機能

PythonによるExcel操作
主体はPythonであり、PythonコードからExcelを操作

Python in ExcelはExcel内でデータ分析や可視化を行いたい場合に便利で、大量のデータを扱う場合や複雑なデータ処理を行う場合にはPythonによるExcel操作が便利です。

またPython in Excelでは、Pythonはクラウド上で実行されるため、Pythonのインストールなどの環境設定が不要な点もメリットの1つです。

分析したいデータ量や分析・可視化内容によって、適切に選択することが重要になります。

導入方法

2024年4月時点でPython in ExcelはMicrosoft 365の一部としてパブリックプレビュー版で公開されていて、使用するには以下の制限があります。

  • バージョン2309(Build 16818.20000)以降
  • Excel for Windowsでのみ動作可能
  • Microsoft 365 Insider Program に参加し、ベータ チャネル Insider レベルを選択

特に2024年4月時点ではExcel on the web及びexcel for Mac, iPad, iPhone, Androidでは使用できないので、注意が必要です。

PythonでExcelの利便性を向上

この記事ではPythonによるExcel操作で何ができるのか、メリットデメリットを紹介しました。

PythonによるExcel操作では、

  • Excelファイルの読み込みと書き込み
  • データの分析と処理
  • グラフやチャート作成
  • タスクの自動化
  • WEBスクレイピング
  • ExcelとExcel以外のアプリケーションの連携
  • Excelの印刷設定

が可能で、メリットデメリットについては、

メリット

  • 環境に依存しない
  • Excel以外のアプリケーションと連携可能
  • Python習得の足掛かりにできる

デメリット

  • Pythonが動作可能な環境を構築する必要有

という点を紹介しました。

PythonとExcelを組み合わせると、使い慣れたExcelを、Pythonのデータ分析や可視化の機能によって、より一層効果的なプレゼン資料やレポートが作成できることでしょう。

また、Excel内でPythonを使用する「Python in Excel」についても正式リリースが待ち遠しいところです。

ExcelとPythonの相乗効果でさらなる業務効率化を進めましょう。