PythonとOpenPyXLを使ってExcelに数式を埋め込む方法を紹介します。OpenPyXLはPythonでExcelファイルを操作するためのモジュールで、これを使うことでExcelのセルに数式を書き込むことが可能です。
OpenPyXLでExcelに数式を入力する方法
まず、PythonとOpenPyXLを使ってExcelに数式を入力する基本的なコードを見てみましょう。
import openpyxl
# 新しいワークブックを作成
wb = openpyxl.Workbook()
# アクティブなワークシートを取得
sheet = wb.active
# セルに値を設定
sheet['A1'] = 10
sheet['A2'] = 20
sheet['A3'] = 30
# A4セルに数式を設定
sheet['A4'] = '=SUM(A1:A3)'
# ワークブックを保存
wb.save('test_write_4.xlsx')
このコードは、新しいExcelファイル(test_write_4.xlsx
)を作成し、A1
からA3
までのセルにそれぞれ10, 20, 30という値を設定します。そして、A4
セルには=SUM(A1:A3)
という数式を設定します。この数式はA1
からA3
までのセルの値を合計した結果(この場合は60)をA4
セルに表示します。
数式を書き込む際の注意点
数式をExcelのセルに書き込む際には、数式を文字列として直接書き込むだけです。例えば、上記のコードではsheet['A4'] = '=SUM(A1:A3)'
としています。このように、Excelの数式がどんな形式であるかさえ覚えていれば(もしくは、ググることさえできれば)、文字列として書き込むだけです。
まとめ
以上、PythonとOpenPyXLを使ってExcelに数式を埋め込む方法を紹介しました。この方法を使えば、PythonでExcelの作業を自動化することが可能になります。しかし、Pythonで計算した結果だけをExcelに入力すると困るシーンも存在します。例えば、Excelに数式を書き込んでいた場合、Excelファイルを開いて、A1セルを直接更新した際、A4セルの合計値も更新されます。しかし、Pythonで計算した結果だけを書き込んでいた場合、A4セルの値は更新されません。このように、PythonでExcelに数式を書き込む利用シーンは限定的だと言えるでしょう。.