簡體   English   中英

使用Python將公式寫入Excel

[英]Write formula to Excel with Python

我正在腦力激盪的過程中如何最好地解決以下問題。 任何輸入都非常感謝。

Excel工作表列示例:

Column A  |  Column B  | Column C
Apple     |  Apple     |
Orange    |  Orange    |
Pear      |  Banana    |

我希望Excel告訴我A列和B列中的項目是否匹配或不匹配,並在C列中顯示結果。我在C列中輸入的公式將是=IF(A1=B1, "Match", "Mismatch")

在excel上,我只是將公式拖到C列的其余單元格中,將公式應用於它們,結果如下:

Column A  |  Column B  | Column C
Apple     |  Apple     | Match
Orange    |  Orange    | Match
Pear      |  Banana    | Mismatch

要使用python腳本自動執行此操作,我嘗試:

import openpyxl
wb = openpyxl.load_workbook('test.xlsx')
Sheet = wb.get_sheet_by_name('Sheet1')
for cellObj in Sheet.columns[2]:
    cellObj.value = '=IF($A$1=$B$1, "Match", "Mismatch")
wb.save('test.xlsx')

這將公式寫入C列中的所有單元格,但公式僅引用了單元格A1和B1,因此導致列C中的所有單元格=匹配。

Column A  |  Column B  | Column C
Apple     |  Apple     | Match
Orange    |  Orange    | Match
Pear      |  Banana    | Match

你會怎么處理這個?

您可能希望創建公式動態,因此C每一行都取自AB的相應行:

for i, cellObj in enumerate(Sheet.columns[2], 1):
    cellObj.value = '=IF($A${0}=$B${0}, "Match", "Mismatch")'.format(i)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM