前提・実現したいこと
既存システムで出力されているエクセルフォーマットに合わせ
新規にopenpyxlからエクセル出力を行っているのですが、配列数式で算出している個所を
openpyxlで実現するのにはどの様に行えばいいのでしょうか?
発生している問題・エラーメッセージ
例A1から列B5の絶対値をサマリーし、列C1へ出力する際
ws['C1'].value = "{=SUM(ABS(A1:B5))}"
としても実際のエクセルには
{=SUM(ABS(A1:B5))}
と表示されるだけです。
該当のソースコード
python3
1import openpyxl 2 3#保存エクセルファイル名 4XLSFile="c:\temp\sample.xlsx" 5wb = openpyxl.Workbook() 6ws = wb.active 7 8ws['A1'].value=1 9ws['A2'].value=1 10ws['A3'].value=1 11ws['A4'].value=1 12ws['A5'].value=1 13 14ws['B1'].value=1 15ws['B2'].value=1 16ws['B3'].value=1 17ws['B4'].value=1 18ws['B5'].value=1 19 20ws['C1'].value = "{=SUM(ABS(A1:B5))}" 21wb.save(XLSFile)
試したこと
ws['C1'].value = "=SUM(ABS(A1:B5))"
としても、エクセルには
♯Value!
と表示されるだけです。
配列数式は使用できない為、
ws['C1'].value =ABS(A1)+ABS(A2)+ABS(A3)+ABS(A4)+ABS(A5)+
ABS(B1)+ABS(B2)+ABS(B3)+ABS(B4)+ABS(B5)
とするしかないのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/23 04:49
2018/05/23 04:56
2018/05/23 05:10
2018/05/23 05:15