【業務自動化】Chapter1-1|openpyxlのインストールと初期設定

ながみえ

Excelの作業をしていると、同じ入力や集計を何度もくり返すことがあります。

そんなときに役立つのが、PythonでExcelを操作できるライブラリ openpyxl です。

この記事では、openpyxlのインストール方法と動作確認を、初心者向けにわかりやすく解説します。

Excelは普段から使っており、Pythonの基礎も習得済み――そんな方を想定しています。

勉強猫
勉強猫

この記事はPythonによるExcel業務自動化の最初の一歩。

もしまだPythonの基礎を習得していないなら、先にPythonの勉強から始めてね。

あわせて読みたい
【完全無料】Python初心者向け完全ガイド
【完全無料】Python初心者向け完全ガイド

Chapter1:PythonによるExcel自動化の基本を身につけよう
 ・Chapter1-1:openpyxlとは何か|インストールと動作確認 ◁今回はここ
 ・Chapter1-2:PythonでExcelファイルを作成しよう
 ・Chapter1-3:Excelシートからデータを読み込もう
 ・Chapter1-4:Excelシートにデータを書き込もう
 ・Chapter1-5:データを新規シートへ自動振り分けしよう
 ・Chapter1-6:簡単なExcel自動化を体験しよう
Chapter2:自動化ツールを.exe化して配布しよう
Chapter3:現場で使える便利な自動化ツールを4つ作ろう
Chapter4:Webスクレイピングでデータを自動で集めよう
Chapter5:自動化ツールを作ってお金を稼ごう

<<前のページ

業務自動化の記事一覧

次のページ>>

openpyxlとは|Excelを自動化する基本とVBAとの違い

openpyxlは、PythonからExcelの.xlsx/.xlsmファイルを読み書き・編集するための定番ライブラリです。

パソコンにExcelが入っていなくても動作し、Windows・macOS・Linuxで利用できます。

openpyxlで何ができるのか|主な機能のイメージ

openpyxlを使用することで、Excelブックやシート、セルの操作などのよく使う事務作業を自動化することができます。

代表的な機能は、以下のとおりです。

  • 新規ブック/シートの作成、既存ファイルの読み込み・保存
  • セルの値・数式の読み書き、書式設定
  • 行/列の挿入・削除、セル結合
  • 条件付き書式、データ検証(プルダウンの設定)
  • テーブルやグラフの作成、画像の貼り付け
  • 大量データの高速書き出し

さらに、Chapter2以降で学習するPyInstallerなどを使いこなすと、最終的に以下のようなことができるようになります。

日次レポートの完全自動化Webからデータ取得 → openpyxlでテンプレに反映・グラフ更新
→ メールに自動添付して自動送信。
フォルダ監視型の集計業務指定フォルダに置かれた複数のExcelを読み込み → 1冊に統合
→ テーブル化・条件付き書式適用 → 完了ファイルを出力。
帳票の一括生成・配布部署別や顧客別にテンプレへ差し込み → ファイル名規則で連番出力
→ ZIP化や配布先フォルダへ自動仕分け。
バッチ実行&配布PyInstallerで実行ファイル化(.exe等)し、Python未導入のPCでもワンクリック実行。
社内共有や引き継ぎが容易に。

このレベルに到達すると、「毎朝の手作業60分」が1分になり、属人化した “あのExcel作業” を誰でも再現できる仕組みへ置き換えられます。

ポイントは、「データを集める → 整形する → 配る」を自動でできるようになることです。

使い始める前に知っておきたいopenpyxlの制限

万能に見えるopenpyxlにも、得意なことと苦手なことがあります。

事前に把握しておくことで、設計ミスを避けやすくなります。

主な制限は、以下のとおりです。

  • .xls(旧形式)は直接扱えない:基本は.xlsxに保存してから操作
  • 計算はしない:数式は書けますが再計算はExcel側の役割
  • VBAは実行できない:.xlsm内のマクロは保持できるが、動かすのはExcel

VBA(マクロ)と比較|まずはopenpyxlを選ぶべき理由

Excel自動化の手段としてはVBA(マクロ)が有名ですが、当サイトでは openpyxlを選択することを推奨 します。

同じ「Excel自動化」でも、実務での安定運用・拡張性・配布のしやすさ を総合すると、基本的にはopenpyxlの方が優れています。

その理由は、Excelアプリに依存せず、Windows/Macのどちらでも動き、Web/APIやメール送信、ファイル操作など、Excelの外側まで含めた業務フロー全体をPython一つで完結できる からです。

観点openpyxl(Python)推奨ポイントVBA(Excelマクロ)
実行環境Excel不要・クロスプラットフォームで安定Excel必須・主にWindows依存
外部連携Web/API/DB/メール/スクレイピング等と自在に統合連携は限定的・実装難度が上がりがち
配布・運用スクリプト配布やPyInstallerで実行ファイル化(exe化)が容易ブック配布中心・マクロ警告やポリシー制約が障壁
セキュリティマクロ制限の影響を受けにくい組織ポリシーでブロックされやすい
大量データバッチ処理・並列化・他ライブラリ活用が得意ExcelのUI前提で重くなりやすい
テスト/保守Pythonのテスト基盤とGit運用がしやすいテスト自動化や差分管理が相対的に難しい

ただし、Excel画面上でのボタン1つの簡易操作 や、既存のExcel機能(フォーム・アドイン)に深く依存するケース では、VBAのほうが手早いこともあります。

openpyxl+Pythonが適しているのは、レポート自動作成・データ統合・定時メール配信のように、「集める → 整形 → 配る」までの大きな自動化を行う場合です。

openpyxlの弱点は、ツール作成時に Pythonの基礎知識が必要 である点のみです。この学習コストを許容できるのであれば、openpyxlを選択しましょう。

勉強猫
勉強猫

もしopenpyxlよりもVBAにメリットを感じるなら、↓↓の記事をチェックしてみてね。

あわせて読みたい
【レビュー】VBA開発代行の費用相場とコスト削減効果|Excel業務を自動化するならbee-plus
【レビュー】VBA開発代行の費用相場とコスト削減効果|Excel業務を自動化するならbee-plus

インストールする前に確認するべきこと

openpyxlを入れる前段階として、Python本体が正しく動くか、そしてパッケージ管理ツールであるpipが使えるかを確認します。

ここでつまずくと、その後の手順が進められません。
最初に環境を確実に整えておきましょう。

確認する内容は、次の3ステップです。

  • ターミナルを開く
  • Pythonのバージョンを確認する
  • pipのバージョンを確認する

1) ターミナル/コマンドプロンプトを開く

まずは、コマンドを実行する画面 を開きます。

Windowsなら コマンドプロンプト または PowerShell、macOSなら ターミナル を使います。

  • Windows:スタートメニューで「cmd」または「PowerShell」と検索して起動
  • macOS:Launchpad → その他 → ターミナル(Spotlightで「terminal」検索でもOK)

2) Pythonが入っているか(バージョン)を確認

次に、Pythonが正しく使える状態か を確認します。

コマンドプロンプト、またはターミナルに以下のコードを入力して実行してください。

OSやセットアップ状況によって使うコマンド名が異なるため、上から順に試せばOK です。

# Windows(Pythonランチャーが入っている場合)
py --version

# 共通(Windows/macOS)
python --version

# macOSでよく使う呼び出し方
python3 --version

正しくPythonが入っていれば、たとえば次のように表示されます。

Python 3.11.6

表示される数字は環境によって異なりますが、Python 3.8 以上であれば本講座は進められます。


何も表示されない場合やエラーになる場合は、Pythonがまだ入っていない か、PATH設定に問題がある 可能性があります。

3) pipが使えるか(バージョン)を確認

openpyxlのインストールには、pipを使います。

先ほどと同じように、コマンドプロンプトまたはターミナルで、以下のコマンドを試してください。

# 最も確実な呼び方(Pythonに紐づくpipを明示)
python -m pip --version

# WindowsのPythonランチャー経由
py -m pip --version

# 直接呼べる場合(環境により pip3 のことも)
pip --version
pip3 --version

正しくpipが使える場合は、たとえば以下のように表示されます。

pip 24.2 from .../site-packages/pip (python 3.11)

カッコ内の python 3.xx の数字が、先ほど確認したPythonのバージョンと一致しているかも確認しておきましょう。

仮想環境(venv)を使う予定の方は、以降も python -m pip の形式で進めると、Pythonの取り違えを防げます。

openpyxlのインストールと動作確認【初心者向け】

ここからは、openpyxlを実際にインストールして、正しく使えるかを確認していきます。

手順1:openpyxlをインストールする(pip)

pipを使ってopenpyxlをインストールします。

WindowsでPythonランチャーを使っている方は、4行目のコマンドでも実行できます。
どちらか一方(1行目か4行目)を実行してください。

pip install openpyxl

# WindowsのPythonランチャー経由の場合
py -m pip install openpyxl

手順2:インストールできたかを確認する(pip list)

次に、openpyxlが正しくインストールされたかを確認します。

コマンドプロンプト、またはターミナルで、以下のコマンドを実行してください。

pip list

インストールに成功していれば、一覧の中に openpyxl と表示されます。

パッケージの数が多くて見つけにくい場合は、画面内を検索しながら確認すると見やすいです。

続いて、実際にライブラリを読み込み、新しいExcelブックを作成できるかを試してみましょう。

以下のコードは、openpyxlを使って実際にExcelを操作するPythonコードです。

import openpyxl  # openpyxlをインポート

new_book = openpyxl.Workbook()      # Workbookのインスタンスを作成
print(new_book.sheetnames)          # シート名の一覧を表示(例:['Sheet'])

このコードを実行して、['Sheet'] などと表示されれば、openpyxlは正しく動作しています。

コードの意味はこれから学んでいくので、この段階では、まず動くことを確認できれば大丈夫です。

まとめ|Excel自動化の準備完了

openpyxlのインストールと動作確認が終わり、これであなたのPCは、PythonでExcelを扱える状態になりました。

これからは、手作業で行っていた転記や整形、集計を、再現可能なスクリプトに置き換えていけます。

大切なのは、コードを書いて終わりにすることではありません。
業務の結果を、安定して出せる仕組みにしていく視点を持つことです。

この先の学習では、ブックやシートの基礎操作から始まり、読み込み・書き込み、コピペ自動化、そして小さな自動化フローの構築へと進んでいきます。

準備は整いました。

次の節からは、実際にExcelファイルを操作しながら、「手作業 → コード」の変換思考を身につけていきましょう。

勉強猫
勉強猫

今日の10分が、明日の1時間を生み出す!
さあ、次へ進もう!

もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいExcel自動化学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

業務自動化の記事一覧

次のページ>>

よくある質問(FAQ)|openpyxlの導入と動作確認

Q1. openpyxlは「Excelが入っていないPC」でも使えますか?対応OSや前提条件は?

はい。openpyxlはExcelアプリ自体に依存せずに動作します。

Windows・macOS・Linuxで利用でき、.xlsx/.xlsm形式のブックをPythonから読み書き・編集できます。実務のルーチン作業を自動化する用途にも向いています。

Q2. インストール前に何を確認しておくべきですか?(Python/pip/環境のチェック)

つまずきを避けるため、次の3点を先に確認してください。

  • ターミナル(コマンドプロンプト)が使えるか:基本操作ができるかを確認します。
  • Pythonが正しく導入されているか(3系推奨):呼び出し可能で、バージョンが表示できることが目安です。
  • pipが使えるか:インストーラのバージョンが取得でき、Python本体と対応が取れていることを確認します。
    仮想環境を使う場合は、紐づくPythonでpipを扱う運用にすると取り違えを防げます。

これらを満たしていれば、openpyxlの導入と「導入できたかの確認」という二段階の流れで進められます。

Q3. openpyxlとVBA(マクロ)の違いは?向き・不向きや注意点を知りたい

どちらもExcel業務の自動化手段ですが、特性が異なります。

  • openpyxlが向くケース:OSを問わず動かせる、Web/API・メール・DBなどExcelの外側も含めた処理を一体化したい、配布やテスト・保守をPython基盤で整えたい──といった要件に強みがあります。
  • VBAが向くケース:Excel画面上の操作を素早く自動化したい、既存のExcel機能(フォームやアドイン等)に深く依存している──といった場面ではVBAが手早いこともあります。
  • openpyxlの主な制限:旧形式の.xlsは直接扱えない、数式の「再計算」はExcelの役割、マクロ(VBA)は実行できない──といった点は知っておくと設計ミスを防げます。

まとめ:Excel外の処理まで含めて安定運用したいならopenpyxl、Excel画面での局所的な自動化はVBA、という使い分けが基本方針になります。

<<前のページ

業務自動化の記事一覧

次のページ>>

記事URLをコピーしました