数値のみが入ったエクセルがあり、
①python openpyxlでエクセル関数を入力し
②関数で計算した"値"を取り出したい。
(①を直接エクセルで実施しないのは、大量にエクセルがありPythonのglobで一括処理をしたいため)
値を取り出したいが、関数が取り出されてしまいます。Google検索したところ「data_only=True」でできるとありましたが、Trueでも数式が出力されます。
コードとサンプルファイルを添付いたします。
print(SUM_value) から10が出力されるにはどのようにすればよいでしょうか。
現状SUM(A1:A4)が出力されます。
一方、sample02のエクセルは10と計算されています。
別方法として「A5をコピーし、A5に値を貼り付け」のエクセル操作をopenpyxlでできれば解決できるとも思います。そのようなサンプルコードを教授いただけると助かります。
--コード--
import openpyxl as px
wb = px.load_workbook('sample.xlsx',data_only=True)
ws = wb['Sheet1']
ws['A5'].value='=SUM(A1:A4)'
wb.save('sample02.xlsx')
SUM_value=ws['A5'].value
print(SUM_value)
■sample.xlsxの中身
A1=1
A2=2
A3=3
A4=4

回答1件
あなたの回答
tips
プレビュー