liyuping-fisher 发表于 2023-5-19 10:28:00

如何处理单元格的公式

假设第一列单元格是字典键key,第二列单元格是旧字典value,第三列单元格是新字典value
如何将第三列的某一行也就是通过字典键找到这一行,然后通过插入公式的方式去拼接单元格的字符串
格式如下
if xxx1键:
        则第三列xxx1键对应的行的值为新字典xxx对应的xxx和新字典对应的xxx的xxx...组合而成
elif xxx2键:
        则第三列xxx2对应的行的值为新字典xxx对应的xxx和新字典对应的xxx的xxx...组合而成
elif ...

总之就是用公式写入某个单元格用其他单元格或者其他字符拼接而成

isdkz 发表于 2023-5-19 10:28:53

您可以使用Python中的openpyxl库来处理单元格的公式。以下是一个示例代码,可以根据您的需求进行修改:

import openpyxl

# 打开工作簿和工作表
workbook = openpyxl.load_workbook('example.xlsx')
worksheet = workbook['Sheet1']

# 遍历第一列的键值
for row in worksheet.iter_rows(min_row=2, min_col=1, max_col=1):
    key = row.value
   
    # 获取旧值和新值的单元格
    old_value_cell = worksheet.cell(row=row.row, column=2)
    new_value_cell = worksheet.cell(row=row.row, column=3)
   
    # 设置公式
    formula = ''
    if key == 'xxx1':
      formula = f'=CONCAT("{key}对应的行的值为新字典{key}对应的{new_value_cell.coordinate}","{new_value_cell.coordinate}的xxx...组合而成")'
    elif key == 'xxx2':
      formula = f'=CONCAT("{key}对应的行的值为新字典{key}对应的{new_value_cell.coordinate}","{new_value_cell.coordinate}的xxx...组合而成")'
    # 添加更多的elif语句来处理其他键值
   
    # 将公式写入新值单元格
    new_value_cell.value = formula

# 保存工作簿
workbook.save('example.xlsx')


这个代码假设您的工作簿文件名为 example.xlsx ,第一行是标题行,第一列是键值,第二列是旧值,第三列是新值。代码遍历第一列的键值,根据键值设置不同的公式,然后将公式写入第三列的新值单元格。您可以根据需要修改公式的格式和内容。

rsj0315 发表于 2023-5-19 14:37:10

isdkz 发表于 2023-5-19 10:28
您可以使用Python中的openpyxl库来处理单元格的公式。以下是一个示例代码,可以根据您的需求进行修改:



你这个是GPT4.0版本的回答么?

isdkz 发表于 2023-5-19 15:07:00

rsj0315 发表于 2023-5-19 14:37
你这个是GPT4.0版本的回答么?

不是,gpt4没有那么快

liyuping-fisher 发表于 2023-5-20 15:14:03

isdkz 发表于 2023-5-19 10:28
您可以使用Python中的openpyxl库来处理单元格的公式。以下是一个示例代码,可以根据您的需求进行修改:



我要前面这个key指定的第三行的value为某几个单元格拼接的值
也就是如果第五行的第一列的key是xxx的话
那么我想得到第五行三列的公式为第一行key的第三列value的值和第三行第三列的value的值拼接而成
页: [1]
查看完整版本: 如何处理单元格的公式