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

Excelの作業をしていると、同じ入力や集計を何度もくり返すことがあります。
そんなときに役立つのが、PythonでExcelを操作できるライブラリ openpyxl です。
この記事では、openpyxlのインストール方法と動作確認を、初心者向けにわかりやすく解説します。
Excelは普段から使っており、Pythonの基礎も習得済み――そんな方を想定しています。

この記事はPythonによるExcel業務自動化の最初の一歩。
もしまだ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にメリットを感じるなら、↓↓の記事をチェックしてみてね。


インストールする前に確認するべきこと
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時間を生み出す!
さあ、次へ進もう!
よくある質問(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、という使い分けが基本方針になります。


