使用excel函数和openpyxl-python



我正在使用openpyxl用python生成excel电子表格。

目前,我正在尝试为其中一张工作表中的整列编写一个函数。

我目前使用的代码运行良好,只是它输入的函数与编写的完全一样。我正在尝试使用VLookups,并且需要添加每个新函数来增加单元格引用。

这是当前代码

"""Add formula columns"""
#first new column 
#load workbook 
book = load_workbook('export1.xlsx')
#Assign sheet
sheet = book['RAW DATA']
for cell in sheet['V']: #loop through all cells in column 
cell.value = '=VLOOKUP(N2,Matrix!L:M,2,FALSE)' #and assign function
#name the column
sheet['V1'] = 'New Column'
#save & close
book.save('testing.xlsx')
book.close()

Vlookup从单元参考"0"开始;N2";('=VLOOKUP(N2,矩阵!L:M,2,FALSE('(我希望每次添加函数时都能增加它。因此,下一个单元格将引用N3,然后是N4之后是N5等等。

任何见解或建议都会有很大帮助。

我试过这个,但由于某种原因,增量不起作用

"""Add formula columns"""
#first new column 
#load workbook 
book = load_workbook('export1.xlsx')
#Assign sheet
sheet = book['RAW DATA']
part1 = "=vlookup(N"
part2 = 2
part3 = ",Matrix!L:M,2,FALSE)"
vlookup = part1 + str(part2) + part3
stringvlookup = str(vlookup)
for cell in sheet['V']: #loop through all cells in column 
cell.value = stringvlookup #and assign function
part2 += 1

#name the column
sheet['V1'] = 'New Column'
#save & close
book.save('testing.xlsx')
book.close()

使用解决

# using an if statement
for i, cellObj in enumerate(sheet['V'], 1):
if i > 1: 
cellObj.value = "=VLOOKUP($N${0},Matrix!L:M,2,FALSE)".format(i)

最新更新