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

ながみえ

「Excel自動化学習:Chapter1」では、Python初心者でも「Excelの簡単な作業をPythonで自動化できる」状態を最短で目指します。

第1章であるこの記事では、openpyxl というPythonの標準ライブラリのインストール&動作確認手順を丁寧に解説。

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

もしまだ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:PyInstallerで自動化ツール(.exe)を作ろう
Chapter3:便利な自動化ツールを5つ作ろう
Chapter4:Webスクレイピング入門

Chapter5:自動化ツールを作って稼ごう

<<前のページ

業務自動化の記事一覧

次のページ>>

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

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

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

openpyxlを使用することで、ルーチン作業(集計・整形・転記など)をコード化できるため、手作業のミスや作業時間を大幅に削減できるようになります。

【Python】勉強猫がノートパソコンを前にして学習を始める様子。記事内の学習スタート用イラスト

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

openpyxlはExcelブックやシート、セルの操作を中心に、よく使う事務作業を自動化できます。

以下に代表的な機能をまとめます。

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

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

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

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

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

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

万能に見える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を選択しましょう。

もしVBAにメリットを感じる場合は、↓↓の記事を参考にしてください。

あわせて読みたい
【レビュー】Excel業務を自動化するならbee-plus|VBA代行でコストを抑えて効率化
【レビュー】Excel業務を自動化するならbee-plus|VBA代行でコストを抑えて効率化
【Python】勉強猫がノートパソコンを見ながら考え込む様子。記事内の休憩用イラスト

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

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

ここでつまずくと以降すべての手順が進まないため、最初に環境を確実に整えておきましょう。

確認は3ステップ──「ターミナルを開く → Pythonのバージョン確認 → pipのバージョン確認」です。

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

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

WindowsならコマンドプロンプトまたはPowerShell、macOSならターミナルです。社内PCでも基本的に開けます。

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

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

次に、Pythonが正しく呼び出せるかを確認します。

コマンドプロンプトかターミナルに以下のコードを打ち込み、実行しましょう。

OSやセットアップによってコマンド名が異なるため、上から順に試してください。

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

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

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

正しくPythonが入っていれば、例えば以下のように出力されるはずです。

Python 3.11.6

表示される数字は環境によって異なりますが、基本的に3系(3.x)であれば本講座は進められます。

何も表示されない/エラーになる場合は、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の取り違えを防げます。

【Python】勉強猫がコーヒーを片手にリラックスしている様子。記事内の休憩用イラスト

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

この章ではopenpyxlをインストールと動作確認を行います。

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

まずはpipでopenpyxlを導入します。

WindowsでPythonランチャーを使っている方は2行目のコマンドでもOKです。どちらか一方を実行してください。

pip install openpyxl

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

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

次に、openpyxlがインストール済みかを一覧表示で確認します。

以下のコードを打ち込んで実行しましょう。

pip list

実行結果の中にopenpyxlの行があれば正常にインストールされています。

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

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

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、という使い分けが基本方針になります。

次のステップ:業務自動化を「実務レベル」まで引き上げたい方へ

このコース(Chapter1〜2)の無料教材では、Python と Excel(openpyxl)を使って「単純作業を自動化する」ための基本的な考え方やコードの書き方を身につけることができます。

ただ、実際の業務で使おうとすると、次のような壁にぶつかりがちです。

  • 社内で使える「ちゃんとしたツール」っぽい形にしたい
  • エラーが出たときに、自分で原因を特定して直せない
  • 副業したくても本当に正しく動くか自信がない

そこで、格安で販売中のChapter3以降では「現場でそのまま使える業務自動化スクリプト」を作りながら学べる構成としました。

そこでは、Chapter2までで学んだ内容を土台にしつつ、

  • 実務でよくあるパターン別のサンプルコード
  • トラブルシューティング(エラーの潰し方)の考え方
  • より高度な自動化を実現するWebスクレイピングの基本
  • 業務自動化スキルを用いて副業で稼ぐための具体的な方法

などを通して、「自分の職場に合わせてカスタマイズできる力」を身につけることを目指します。

教材は↓↓のリンクボタンの販売所で購入するとPDFやpyファイルでダウンロードできます。

もしくは、各学習記事内で会員登録して頂くと、そのままこのサイト内で全ての記事を読めるようになります。

どこよりも安く手実践的なこの教材を、是非ご活用下さい^^

<<前のページ

業務自動化の記事一覧

次のページ>>

記事URLをコピーしました