用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
每一行取自A
和B
的对应行:
for i, cellObj in enumerate(Sheet.columns[2], 1): cellObj.value = '=IF($A${0}=$B${0}, "Match", "Mismatch")'.format(i)