2016-12-27 2 views
1

スプレッドシートの各列に対して単純な乗算式(B1 = B2 * B3 ... C1 = C2 * C3)を適用しようとしています。複数の列にまたがるXLSXWriter式

(幻想的な)xlsxwriterのドキュメントと同様の質問:XLSXWriter Apply Formula Across Column With Dynamic Cell Referenceを確認しましたが、複数の列にまたがることはできません。ループを使用して行番号の値を増やすのは簡単ですが、同じコンセプトを1行(複数の列)に適用する際に問題があります。

私はスプレッドシートの最終セルのA1表記を得るために使用していますが(毎回異なるため)、実行可能な式や配列にそれらの変数をどのように接続するかを理解できません式。

worksheet.write_array_formula('B1:%s', '{=PRODUCT(B2:%s,B3:%s)}' % (cell1, cell2, cell3)) 

しかし、私は文字列フォーマットで問題が発生し続ける、と私はちょうど実際の値をプラグインの代わりに、文字列フォーマットを使用してみたとき、私は、Excelの外にゴミを取得:

cell1 = xl_rowcol_to_cell(1, total_columns - 1) 
cell2 = xl_rowcol_to_cell(2, total_columns - 1) 
cell3 = xl_rowcol_to_cell(3, total_columns - 1) 

私はこのようなものを考えていました。

ご協力いただければ幸いです。

答えて

2

配列式の使い方を誤解しました。私がリンクした質問には、問題を解決するための十分な情報がありました。

for col_num in range(1, total_columns): 
    worksheet.write_formula(1, col_num, '=B2:%s*B3:%s' % (cell2, cell3)) 
関連する問題