excel 动态设置IF公式的参数(value_if_true)

hrysbysz  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(190)

我正在处理大量的Excel股票数据,

我需要做的是,我需要在损失小于-10%的单元格前面设置股票代码名称。
我可以尝试使用简单的=IF(B2〈-0.1,“AAL”,“”)公式,但这将一直工作到下一只股票开始,我的意思是在AADI中也将打印“AAL”,这是问题所在。如果此条件为真,我需要打印正确的股票代码。如果是AAPL,股票代码AAPL应该打印在亏损单元格前面。那么,我该如何做呢?
不知道如何完成这一点,而我有数以百万计的数据点。我应该知道一个很好的解决方案,使用Python,VB,或Excel公式。

rpppsulh

rpppsulh1#

IIUC,这里是一个使用openpyxl的简单命题:

from openpyxl import load_workbook

wb = load_workbook("file.xlsx")
ws = wb['Sheet1']

for num_row in range(1, ws.max_row+1):
    cellB = ws.cell(row=num_row, column=2)

    if isinstance(cellB.value, str):
        ticker_name = cellB.value
    else:
        try:
            cellC = ws.cell(row=num_row, column=3)
            if cellC.value < 0.1:
                ws.cell(row=num_row, column=4).value = ticker_name
        except TypeError:
            pass
        
wb.save("file.xlsx")
  • 注意:在运行任何类型的python/openpyxl脚本之前,请确保始终保留原始Excel文件的备份/副本。*
#输出:

相关问题