1. はじめに|PythonでExcelを操作したい理由
みなさん、仕事や学校で「Excel(エクセル)」を使ったことはありますか?
表を作ったり、データをまとめたり、グラフを作ったりと、いろんな場面で大活躍するソフトですよね。でも、もし大量のデータを手作業で入力したり、毎回同じような作業をくり返したりしていたら……ちょっと面倒ですよね?
そこで登場するのが Python(パイソン) です!
Pythonは、初心者にもやさしくて人気のあるプログラミング言語です。このPythonを使えば、「Excelファイルを自動で作成する」「データをまとめて入力・編集する」「複数のファイルをまとめて処理する」なんてことが、ボタンひとつでできちゃうんです!
特に便利なのが、openpyxl(オープンパイエクセル) というライブラリ。これはPythonでExcelの「.xlsxファイル」を読み書きできるようにしてくれる道具のようなものです。
たとえば、こんなことができます:
- Excelファイルを新しく作る
- 既存のExcelファイルを読み込む
- セルにデータを書き込む・読み取る
- シートを追加・削除する
- 書式(文字の色や太字)を設定する
つまり、Excelでやっている作業を自動化して、時間をぐっと短縮できるというわけなんです。
この記事では、そんな便利なopenpyxlの使い方を、やさしくステップごとに解説していきます。
💡 Excel作業がちょっと大変だな…と感じているあなたにこそ、Pythonとopenpyxlはぴったりの助っ人です!
それでは、一緒にPythonでExcel操作をマスターしていきましょう!
2. openpyxlのインストール方法
PythonでExcelファイルを操作するには、まず「openpyxl(オープンパイエクセル)」というライブラリを使えるようにする必要があります。
ライブラリというのは、「便利な道具箱」のようなもの。Python本体には入っていないけど、あとから追加できる機能のセットです。
🔧 インストールは1行でOK!
まずは、Pythonが使える環境(パソコン)で、ターミナル(Mac) や コマンドプロンプト(Windows) を開いて、次のコマンドを打ち込みましょう:
pip install openpyxl
これだけでOK!
インターネットからopenpyxlが自動でダウンロードされて、Pythonで使えるようになります。
📝「pip(ピップ)」はPythonの道具をインストールするときによく使うコマンドです!
✅ インストールできたか確認するには?
念のため、ちゃんとインストールできたか確認してみましょう。以下のコードをPythonで実行してみてください:
import openpyxl
print("openpyxlが使えるようになりました!")
このように表示されれば、バッチリ準備完了です!
💡 よくあるエラー: pipコマンドが見つからない?
「pipは内部コマンドまたは外部コマンド…」というエラーが出る場合は、Pythonが正しくインストールされていないか、環境変数の設定がされていない可能性があります。
そんなときは、こちらの記事も参考にしてください👇
👉 【超初心者向け】WindowsでPythonを始めよう!IDLEのインストールと基本の使い方
3. Excelファイルの新規作成と保存
openpyxlをインストールしたら、いよいよPythonでExcelファイルを作ってみましょう!
ここでは、「空っぽのExcelファイルを作って、好きな名前で保存する」基本の流れを紹介します。
📄 Excelファイルを新しく作るには?
まずは、openpyxlの中にある Workbook(ワークブック) という機能を使います。
ワークブックとは、Excelでいう「1つのファイル(.xlsx)」のことです。
次のコードを見てみましょう:
from openpyxl import Workbook
# ワークブックを新しく作る
wb = Workbook()
# 作ったExcelファイルを保存する
wb.save("sample.xlsx")
📝 このコードの意味を説明すると…
from openpyxl import Workbook
→ openpyxlの中から「Workbook」という機能だけを使えるようにしています。wb = Workbook()
→ 新しいExcelファイル(ワークブック)を作って、変数wbに入れています。wb.save("sample.xlsx")
→ 「sample.xlsx」という名前でファイルを保存しています。保存先はこのPythonファイルと同じフォルダになります。
📁 ファイル名の「.xlsx」は必ずつけましょう!Excel用の拡張子です。
✅ 実行してみよう!
このコードを実行すると、**「sample.xlsx」**というファイルが自動で作られます。
開いてみると、シートが1つあるだけのシンプルなExcelですが、「Pythonで作った」と思うとワクワクしますよね!
💡 ちょっとした応用:別の場所に保存したいとき
たとえば、デスクトップや特定のフォルダに保存したいときは、フルパスで指定しましょう。
wb.save("C:/Users/ユーザー名/Desktop/my_excel.xlsx")
※ Windowsの場合は、パスの「/」や「\」に注意してください!

ここまでできれば、Excelファイルを自動で作る準備はバッチリです!
4. 既存ファイルの読み込みとセルの値取得
前の章では、新しくExcelファイルを作って保存する方法を紹介しました。
今度は、すでにあるExcelファイルをPythonで「開いて中身を読む」方法を見ていきましょう!
📂 ファイルを読み込むには?
openpyxlでは、load_workbook()という関数を使って、既存のExcelファイルを読み込みます。
from openpyxl import load_workbook
# Excelファイルを読み込む
wb = load_workbook("sample.xlsx")
# アクティブなシート(最初に開かれるシート)を取得
ws = wb.active
✅
wb.activeで、今開いている「ワークシート(表)」を扱えるようになります!
🔍 セルの値を読み取るには?
Excelの「A1」セルに入っているデータを読み取るには、こう書きます:
# A1セルの値を取得
value = ws["A1"].value
print("A1セルの中身は:", value)
🗒 セルは「A1」や「B3」など、Excelと同じような表記で指定できます。
🔢 row・columnで指定する方法もあるよ!
もし「A1ってどの位置?」ってわかりにくいときは、数字で指定する方法もあります。
# 1行目1列目(A1と同じ)の値を取得
value = ws.cell(row=1, column=1).value
print("1行1列の中身は:", value)
こっちの書き方は、for文でたくさんのセルを扱うときにも便利です!
💡 ファイルを読み込むときの注意点
- ファイルが見つからないときは、エラーが出るので「ファイル名」や「パス」をよく確認しましょう。
.xlsx形式以外(.xlsなど)はopenpyxlでは読み込めません。

このようにして、Excelファイルの中のデータをPythonで読み取ることができます。
次は、セルにデータを書き込む方法や、見た目を変えるスタイルの設定について紹介していきます!
5. セルへの書き込みとスタイル設定
これまではExcelファイルを「作る」→「読む」という順でやってきましたが、今度は セルにデータを書き込んで、見た目(スタイル)も整える 方法を紹介します!
✍ セルにデータを書き込む方法
まずは基本の書き込みです。セルに文字や数字を入れるには、次のようにします:
from openpyxl import Workbook
# 新しいExcelファイルを作る
wb = Workbook()
ws = wb.active # アクティブなシートを取得
# A1セルに文字を書き込む
ws["A1"] = "こんにちは、Python!"
# B2セルに数字を書き込む
ws["B2"] = 123
# ファイルを保存
wb.save("write_sample.xlsx")
✅ セル名(例:「A1」「B2」)を指定して、直接値を代入できます!
🎨 スタイルをつけてみよう!
openpyxlを使えば、セルの文字の色や太さ(太字)、背景色なども変更できます。
以下は、スタイルを設定する例です:
from openpyxl.styles import Font, PatternFill
# A1のフォントを太字+赤色にする
ws["A1"].font = Font(bold=True, color="FF0000")
# B2の背景色を黄色にする
ws["B2"].fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
🔍 各スタイルの意味
Font(bold=True, color="FF0000")→ 太字で赤色(16進数のカラーコード)PatternFill(...)→ 背景色の指定
💡 Excelと同じように、カラーコードは「#FF0000」のように指定しますが、#は付けずに書きます!
📄 スタイル付きで保存して確認しよう!
上記のコードを実行したあとに write_sample.xlsx を開くと、
- A1は赤くて太い文字
- B2は黄色い背景に黒い数字
になっているはずです!
ちょっとExcel職人になった気分になりますよね 😊
📝 補足:セルに関数を書きたいときは?
Excel関数も文字列として書けばOKです:
ws["C1"] = "=SUM(B2:B10)" # B2〜B10の合計を計算するExcel関数
Excelを開いたときに、ちゃんと関数として計算されます!
6. 複数シートの操作とシートの追加・削除
Excelファイルって、1つのファイルの中に「シート」がいくつもありますよね。
たとえば「売上」「在庫」「社員名簿」など、目的ごとに分けて使うことができます。
Pythonのopenpyxlを使えば、シートの追加・削除・切り替え なども自由自在にできます!
🆕 シートを追加するには?
まずは新しいシートを追加してみましょう!
from openpyxl import Workbook
# 新しいExcelファイルを作成
wb = Workbook()
# シートを追加(名前もつけられる)
ws_new = wb.create_sheet(title="データ一覧")
# 保存
wb.save("multiple_sheets.xlsx")
✅ create_sheet()で新しいシートを追加できます。名前をつけないと「Sheet2」「Sheet3」など自動で付きます。
❌ シートを削除するには?
いらないシートを削除するには、次のようにします:
# 既存のシートを削除する
ws_to_remove = wb["Sheet"] # 名前でシートを取得
wb.remove(ws_to_remove)
💡 シート名は
wb.sheetnamesで確認できます!
🔄 アクティブなシート(今使ってるシート)を切り替えるには?
# 名前でシートを指定して使う
ws = wb["データ一覧"]
ws["A1"] = "これは新しいシートです!"
これで、「データ一覧」という名前のシートのA1セルに文字が書き込まれます!
📋 シート名を確認したいときは?
以下のコードで、すべてのシート名をリストで取得できます:
print(wb.sheetnames)
実行すると、たとえばこんな感じで表示されます:
['Sheet', 'データ一覧']
✅ まとめ:よく使うシート操作一覧
| 操作 | コマンド例 |
|---|---|
| シートの追加 | wb.create_sheet(title="名前") |
| シートの削除 | wb.remove(wb["Sheet"]) |
| シートの一覧表示 | wb.sheetnames |
| シートを使う | ws = wb["シート名"] |

ここまでできれば、1ファイルでたくさんのデータをきれいに整理できます!
7. 実践例|表形式データを自動でExcel出力する
ここまでの内容を使えば、Excelにいろいろなデータを書き込んだり、見た目を整えたりできるようになりましたね!
ではここで、「Pythonでリストのデータを自動で表にしてExcelに出力する」という実践的な例を紹介します。
🧾 こんなデータを出力してみよう!
まずはPythonのリストで、表っぽいデータを用意します:
data = [
["名前", "年齢", "職業"],
["田中太郎", 28, "エンジニア"],
["佐藤花子", 34, "デザイナー"],
["鈴木一郎", 41, "マネージャー"]
]
これをそのままExcelの表にしてみましょう!
📄 Excelに書き出すコード
from openpyxl import Workbook
# 新しいExcelファイルを作成
wb = Workbook()
ws = wb.active
# データを1行ずつExcelに書き込む
for row in data:
ws.append(row)
# ファイルを保存
wb.save("staff_list.xlsx")
🔄
ws.append(row)で、リスト1行ぶんをそのままExcelの1行に追加できます!
✅ 出力されたExcelを開いてみよう!
保存された「staff_list.xlsx」を開いてみると、
| 名前 | 年齢 | 職業 |
|---|---|---|
| 田中太郎 | 28 | エンジニア |
| 佐藤花子 | 34 | デザイナー |
| 鈴木一郎 | 41 | マネージャー |
こんな感じのきれいな表ができているはずです!
💡 応用ポイント
for row in data:のループを工夫すれば、どんなデータでも対応できます。- 行や列に応じて色を変えたり、太字にしたりすれば、見やすい帳票も作れます。
- pandasライブラリと組み合わせると、もっと大規模なデータ処理も簡単にできます(※中級者向け)

ここまでできれば、PythonでExcelに自動でデータ出力する力が身についたと言っていいでしょう!
8. まとめ|openpyxlでできることを覚えよう
ここまで、PythonでExcelファイルを扱うためのライブラリ「openpyxl」の基本を学んできました。
最初は「ちょっと難しそう…」と思ったかもしれませんが、実際にやってみると「意外とカンタン!」って感じませんでしたか?😊
📌 openpyxlでできることまとめ
記事で紹介した内容を、もう一度まとめておきます:
| 機能 | やったことの例 |
|---|---|
| Excelファイルの作成 | Workbook() を使って新規ファイルを作成 |
| ファイルの保存 | wb.save("名前.xlsx") |
| ファイルの読み込み | load_workbook("名前.xlsx") |
| セルの読み書き | ws["A1"] = "こんにちは" / value = ws["A1"].value |
| セルのスタイル設定 | 文字色・太字・背景色などの設定 |
| シートの操作 | シートの追加・削除・切り替え |
| 表形式データの出力 | ws.append()でリストをそのままExcelに出力 |
🤖 openpyxlを使えば、こんなこともできる!
- 毎日の売上データを自動で記録
- シフト表や名簿を簡単に作成
- データをまとめて加工して、レポートを自動生成
などなど、Excel作業の「自動化」がどんどん進みます!
よくある質問(Q&A)
- Qopenpyxlで
.xlsファイル(古いExcel形式)は扱えますか? - A
残念ながら、openpyxlは
.xlsx形式専用のライブラリです。
古い.xlsファイルを扱いたい場合は、xlrdやxlwtといった別のライブラリを使う必要があります。
また、.xlsファイルを一度Excelで開いて、.xlsxに変換してから使う方法もおすすめです。
- Qセルの罫線やフォントサイズも変更できますか?
- A
はい、openpyxl.stylesモジュールを使えば、以下のような見た目のカスタマイズが可能です:
- フォントの種類・サイズ・太字・斜体
- 文字色・背景色
- セルの罫線・塗りつぶし
- セルの結合や高さ・幅の調整
基本的な書類の装飾はほぼ対応できます!
- QExcel関数を使うことはできますか?
- A
できます!
セルに文字として「=SUM(A1:A10)」のように式を書けば、関数として認識されて計算されます。
ただし、計算結果はExcelを開いたときに更新されるため、Python側では計算は実行されません。







※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。