【Excelファイル操作の達人】Openpyxlを使ったセルスタイル設定と数式・チャート作成の具体例!

※関数の書き方・実行結果に誤りがあるケースがあります。随時修正中です。また誤りに気づかれた方はこちらからご連絡頂きますとめちゃ嬉しいです。

目次

今回の講座の導入文

みんな、Excelって使ったことあるやろ?表計算ソフトの王様やけど、Pythonを使うことで、もっと便利に扱えるんやで!例えば、毎月の売上データを手動で入力するのって、めっちゃ面倒やん?でも、PythonとOpenpyxlを使うことで、数秒で自動化できるんや!

この講座では、ExcelファイルをPythonでどう操作するかを学ぶんやけど、ほんまに簡単やし、覚えておけばめっちゃ役立つで!さあ、一緒に楽しく学んでいこう!

① ワークブックとシートの操作

まずは、ワークブックとシートについて理解していこう!Excelでは、ワークブックがファイル全体で、シートがその中のページみたいなもんや。PythonのOpenpyxlを使うと、これらを簡単に操作できるんやで。

ワークブックの作成

新しいワークブックを作成するには、まずOpenpyxlをインポートして、ワークブックを作成するだけや。これで新しいExcelファイルができるで!

from openpyxl import Workbook

# 新しいワークブックを作成
wb = Workbook()

シートの追加と選択

次に、シートを追加したり、選択したりする方法や。デフォルトでは1つのシートができてるけど、必要に応じて新しいシートを追加することもできるんやで。

# 新しいシートを追加
ws1 = wb.create_sheet(title="シート1")
ws2 = wb.create_sheet(title="シート2")

# デフォルトのシートを選択
default_sheet = wb.active

シート名の変更

シートの名前を変更したいときは、以下のようにすればOKや!

# シート名を変更
default_sheet.title = "デフォルトシート"

ワークブックの保存

最後に、作成したワークブックを保存するのも忘れんように!ファイル名を指定して保存するだけやで。

# ワークブックを保存
wb.save("sample.xlsx")

これで、ワークブックとシートの基本的な操作はマスターや!次のステップに進む準備ができたかな?

② セルの読み書き

次は、Excelのセルを読み書きする方法についてや!セルはデータを入力する場所やから、これをうまく使いこなすことが大事やで。

セルへのデータの書き込み

まずは、セルにデータを書き込む方法を見ていこう。特定のセルに値を設定するのは簡単なんや!以下のように書けばええで。

# シートの特定のセルにデータを書き込む
default_sheet['A1'] = "こんにちは"
default_sheet['B1'] = 100
default_sheet['C1'] = 3.14

セルからのデータの読み込み

次は、セルからデータを読み込む方法や。書き込んだデータを取得するのも簡単やで!以下のようにするだけや。

# セルからデータを読み込む
greeting = default_sheet['A1'].value
number = default_sheet['B1'].value
pi_value = default_sheet['C1'].value

print(greeting)  # こんにちは
print(number)    # 100
print(pi_value)  # 3.14

複数のセルを一気に操作する

セルの範囲を指定して、一気にデータを書き込むこともできるで。例えば、A2からA5までのセルに連続した数値を入力する方法や。

# A2からA5に連続した数値を書き込む
for i in range(2, 6):
    default_sheet[f'A{i}'] = i

セルのデータ型

注意点として、Excelではデータ型が色々あるから、文字列や数値、日付など、適切な形式でデータを扱うことが大切なんやで。

これで、セルの読み書きができるようになったな!次は、セルのスタイル設定について学んでいこうか!

③ セルのスタイル設定

次は、セルのスタイルを自由に設定する方法についてやで!セルの見た目を変えることで、データを見やすくしたり、強調したりできるんや。さっそくやってみよう!

フォントの設定

まずはフォントの設定から。フォントのスタイルやサイズ、色を変更することができるで!以下のコードを見てみてな。

from openpyxl.styles import Font

# フォントを設定
font_style = Font(name='Arial', size=14, bold=True, color='FF0000')
default_sheet['A1'].font = font_style

背景色の設定

次は、背景色を変更する方法や。セルの背景色を変えることで、視覚的に目立たせることができるんやで。

from openpyxl.styles import PatternFill

# 背景色を設定
fill_style = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
default_sheet['B1'].fill = fill_style

セルの境界線を設定

セルの境界線を設定することもできるで。これを使うことで、表をより整った形にすることができるんや!

from openpyxl.styles import Border, Side

# 境界線を設定
thin_border = Border(left=Side(style='thin'),
                     right=Side(style='thin'),
                     top=Side(style='thin'),
                     bottom=Side(style='thin'))

default_sheet['C1'].border = thin_border

セルの配置

最後に、セルの配置を設定することもできるで。テキストの位置を中央に揃えたり、左右に寄せたりできるんや!

from openpyxl.styles import Alignment

# セルの配置を設定
alignment = Alignment(horizontal='center', vertical='center')
default_sheet['A1'].alignment = alignment

これで、セルのスタイル設定ができるようになったな!データを見やすくするために、ぜひ活用してみてな。次は、数式の扱い方について学んでいこう!

④ 数式の扱い方

次は、Excelで数式を使う方法についてやで!PythonのOpenpyxlを使うと、セルに数式を入力して計算結果を表示させることができるんや。さっそく見ていこう!

セルに数式を入力

まずは、セルに数式を入力してみよう。Excelでは、数式の先頭に「=」を付けるんや。例えば、A1とB1の合計をC1に表示させる場合、以下のように書くで。

# セルに数式を入力
default_sheet['A1'] = 10
default_sheet['B1'] = 20
default_sheet['C1'] = "=A1+B1"

数式の計算結果の取得

セルに数式を入力すると、Excelが自動で計算してくれるんやけど、Python側からその結果を取得することもできるで。計算結果を取得するには、以下のようにするんや。

# 計算結果を取得
result = default_sheet['C1'].value
print(result)  # 30 になるはずやで

他の数式も試してみよう

もちろん、足し算だけじゃなくて、他の数式も使えるで!例えば、A1とB1の積をD1に表示させる場合、以下のように書くことができるんや。

# 他の数式も試す
default_sheet['D1'] = "=A1*B1"

数式の更新

もしセルの値を変更したら、数式の計算結果も自動で更新されるんや。例えば、A1の値を変更してみるで。

# A1の値を変更
default_sheet['A1'] = 15

# 計算結果を再取得
updated_result = default_sheet['C1'].value
print(updated_result)  # 35 になるはずやで

これで、数式の扱い方がわかったな!Excelの計算機能を使いこなすことで、データ分析がもっと楽になるで!次は、チャートの作成と編集について学んでいこうか!

⑤ チャートの作成と編集

次は、Excelでチャートを作成したり編集したりする方法についてやで!データを視覚化することで、情報を分かりやすく伝えることができるから、ぜひ活用してみてな。

チャートを作成する準備

まずは、チャートを作成するために必要なデータを用意しよう。ここでは、いくつかのデータを用意するで。

# データを準備
default_sheet['A1'] = "月"
default_sheet['B1'] = "売上"
default_sheet['A2'] = "1月"
default_sheet['A3'] = "2月"
default_sheet['A4'] = "3月"
default_sheet['B2'] = 300
default_sheet['B3'] = 500
default_sheet['B4'] = 400

チャートの作成

次に、チャートを作成するためのライブラリをインポートして、データからチャートを作成するで。以下のコードを見てみてな。

from openpyxl.chart import BarChart, Reference

# データ範囲を指定
data = Reference(default_sheet, min_col=2, min_row=1, max_col=2, max_row=4)
categories = Reference(default_sheet, min_col=1, min_row=2, max_row=4)

# バーチャートを作成
chart = BarChart()
chart.add_data(data, titles_from_data=True)
chart.set_categories(categories)
chart.title = "月別売上"
chart.x_axis.title = "月"
chart.y_axis.title = "売上"

# チャートをシートに追加
default_sheet.add_chart(chart, "D5")

チャートの編集

作成したチャートは、後からでも編集が可能や。例えば、チャートのタイトルを変更したり、データの範囲を変更したりできるで。

# チャートのタイトルを変更
chart.title = "更新された月別売上"

チャートのスタイルを変更

チャートの外観も変更できるんや。例えば、チャートのスタイルを変更することができるで!

# チャートのスタイルを変更
chart.style = 10  # スタイル番号は適宜変更してな

これで、Excelでのチャートの作成と編集ができるようになったな!データを視覚化することで、よりわかりやすく伝えることができるで。これからのデータ分析に役立ててな!これでOpenpyxlの基本的な使い方は終わりやで!他にも色々な機能があるから、ぜひ探求してみてな。

【Excelファイル操作の達人】Openpyxlを使ったセルスタイル設定と数式・チャート作成の具体例!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次