使用for循环插入公式时如何更改列值

2024-04-27 18:18:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正试图通过openpyxl自动化工作流,以完成我的一个公司团队所做的一些工作。其中一部分涉及两层vlookup,以便可以从网格中找到值。 要在excel中正常编写,请使用嵌套有“match”的vlookup。我试图遍历范围内的所有单元格,以执行正确的函数。唯一的问题是,我不知道如何让它在更改行的同时更改列,并且找不到解决方案

下面是excel中输入的内容

=VLOOKUP($A3,'DM Rail Yam Dist')$3:$5,匹配(C$1,'DM Rail Yam Dist'$1:$1,0),假)

尝试将其放入python中,我关注的代码部分如下所示

  for i in range(vlS.min_row+1, vlS.max_row+1):
    for j in range(vlS.min_column+1, vlS.max_column+1):
        Vlook = "=VLOOKUP($A{0},'{1}'!$3:$5,MATCH({2}$1,'{1}'!$1:$1,0), FALSE)".format(i, w1, j)
        vlS.cell(row=i, column=j).value = Vlook  

这是我无法使用的第三行,其中j应该可以更改为我输入这个公式的列,但我不知道如何使用它

非常感谢

问候


Tags: infordistrangecolumndmminexcel