Python与Excel:如何将Excel IF函数逻辑转换为可批量执行的Python代码
Python实现Excel多单元格批量IF逻辑的方案
以下默认你使用openpyxl库操作Excel文件,变量对应关系:
ws1:对应Living Wages工作表ws2:对应Efficiency Wages工作表ws3:对应输出结果的new sheet工作表
完整实现代码
import openpyxl # 加载本地Excel工作簿,替换为你的实际文件路径 wb = openpyxl.load_workbook("你的文件路径.xlsx") ws1 = wb["Living Wages"] ws2 = wb["Efficiency Wages"] ws3 = wb["new sheet"] # 遍历52行、12列:如需从第2行开始遍历,将range(1, 53)改为range(2, 53)即可 for row in range(1, 53): for col in range(1, 13): living_val = ws1.cell(row=row, column=col).value efficiency_val = ws2.cell(row=row, column=col).value # 仅当两个单元格均为数值类型时做比较,避免报错 if isinstance(living_val, (int, float)) and isinstance(efficiency_val, (int, float)): ws3.cell(row=row, column=col).value = efficiency_val if efficiency_val > living_val else "" else: ws3.cell(row=row, column=col).value = "" # 保存处理后的文件 wb.save("处理后的文件路径.xlsx")
逻辑说明
完全对齐你给出的德语Excel WENN 函数逻辑:
- 逐行逐列匹配两个源工作表的对应单元格
- 若
Efficiency Wages工作表的单元格值大于Living Wages的对应单元格值,就把前者写入结果工作表的对应位置 - 其余所有情况(数值不满足条件、单元格为空、内容非数值)都返回空值
内容的提问来源于stack exchange,提问作者sendhelppls
相关产品推荐
相关产品推荐

