Python Excelに数式を書き込む

スポンサーリンク

PythonではExcelのセルに数式を書き込むことができます。

例えば、「A11」セルに「SUM(A1:A10)」を書き込むなど。

今回は、Excelのセルに数式を書き込む方法を解説します。

Excelのセルに数式を書き込む

構文

import openpyxl

# ブックを取得
ブック変数 = openpyxl.Workbook(ファイル名)
# シートを取得
シート変数 = ブック変数[シート名]
# セルへ書き込む
シート変数[セル記号] = 書き込む値
シート変数.cell(row=行,column=列).value = 書き込む値

PythonでExcel操作をするには、「openPyXl」パッケージが便利です。「openPyXl」を事前にダウンロード・インストールしておく必要があります。

参照外部パッケージ OpenPyXLをインストールする方法

PythonでExcelのセルに書き込むには、「A1」のような記号と「row=1,column=1」のような数値形式の2種類の方法で書き込むことができます。

 

例1. Excelのセルに数式を書き込む(セル記号)

import openpyxl

# ブックを取得
book = openpyxl.load_workbook('C:\\pg\\data.xlsx')
# シートを取得
sheet = book['Sheet1']
# シートを取得
sheet['A11'] = '=SUM(A1:A10)'
# 保存する
book.save('C:\\pg\\data.xlsx')

Excelファイル「data.xlsx」を開き、シート「Sheet1」のセル「A11」に「A1」~「A10」を合計する数式「=SUM(A1:A10)」を書き込みました。

  • ファイル名:data.xlsx
  • シート名:Sheet1
  • セル:A11
  • 書き込んだデータ: ‘=SUM(A1:A10)’

「A11」を確認すると、数式が埋め込まれ、データが合計されました。

例2. Excelのセルに数式を書き込む(セル数値)

import openpyxl

# ブックを取得
book = openpyxl.load_workbook('C:\\pg\\data.xlsx')
# シートを取得
sheet = book['Sheet1']
# シートを取得
sheet.cell(row=11,column=1).value = '=MAX(A1:A10)'
# 保存する
book.save('C:\\pg\\data.xlsx')

例1とは違い、セルの指定を記号ではなく数値で指定しました。

  • ファイル名:data.xlsx
  • シート名:Sheet1
  • セル:A11
  • 書き込んだデータ: ‘=MAX(A1:A10)’

これでExcelファイルのセルに数式を書き込むことができました。

参照:https://openpyxl.readthedocs.io/en/stable/#

以上、PythonでExcelのセルに数式を書き込む方法でした。

コメント