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

时间:2019-03-19 16:58:23

标签: python openpyxl

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

下面是excel输入的样子;

= VLOOKUP($ A3,'DM Rail Yam Dist'!$ 3:$ 5,MATCH(C $ 1,'DM Rail Yam Dist'!$ 1:$ 1,0),FALSE)

试图将其放入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应该可以随着我将公式输入到其中的列而改变,但是我不知道如何使之起作用

非常感谢

致谢

0 个答案:

没有答案