我打算使用Python编写Excel公式到一个特定的列'M'。但我想跳过/忽略如果另一个列名“状态”包含关闭的话。我对所有其他工作的方法都是开放的。
我的代码:
for row in range(len(df["Status"])):
for x in range(len(df["Status"])):
if str(df["Status"]) == "Closed":
break
else:
dateFmt = workbook.add_format({'num_format': 'dd mmm yyyy'})
formula1 = f'=IF(M{row}="Pending", N{row}-D{row}, IF(M{row}="Closed", VALUE(L{row}), IF(M{row}="Select...", "NA")))'
formula2 = f'=IF(M{row}="Closed", VALUE(N{row}), IF(M{row}="Pending", TODAY()))'
worksheet.write_formula(f'N{row}', formula2, dateFmt)
worksheet.write_formula(f'L{row}', formula1)
我期望它是这样的:expected output with formula applied by python
但我的密码给予我:not the outcome i wanted
其他详细信息我想使用Python查看Excel数据中的整个列M“状态”。如果列M包含单词“已关闭”,则跳过该行,不执行任何操作。如果包含单词“待定”,则在另一列L和列N中输入公式。
我的代码没有跳过包含Closed这个词的行,并将数据值重置为零,日期为1900年(见图),我的标题变为FALSE。然而,它对包含Pending这个词的行工作得很完美(见图)。
1条答案
按热度按时间h79rfbju1#
我无法验证您的Excel公式,但是,这是我将应用到您的代码的逻辑。