用Python写公式到Excel

我正在思考如何最好地解决以下问题。 任何input,不胜感激。

示例Excel表格列:

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

我想让Excel告诉我列A和B中的项是否匹配或不匹配,并在列C中显示结果。在列C中input的公式将是=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 = Match中的所有单元格。

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

你将如何处理?

您可能想要创build公式dynamic,因此C每一行取自AB的对应行:

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