鱼C论坛

 找回密码
 立即注册
查看: 1898|回复: 4

如何处理单元格的公式

[复制链接]
发表于 2023-5-19 10:28:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

总之就是用公式写入某个单元格用其他单元格或者其他字符拼接而成
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[0].value        # 获取旧值和新值的单元格    old_value_cell = worksheet.cell(row=row[0].row, column=2)    new_value_cell = worksheet.cell(row=row[0].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 ,第一行是标题行,第一列是键值,第二列是旧值,第三列是新值。代码遍历第一列的键值,根据键值设置不同的公式,然后将公式写入第三列的新值单元格。您可以根据需要修改公式的格式和内容。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

你这个是GPT4.0版本的回答么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-19 15:07:00 | 显示全部楼层
rsj0315 发表于 2023-5-19 14:37
你这个是GPT4.0版本的回答么?

不是,gpt4没有那么快
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

我要前面这个key指定的第三行的value为某几个单元格拼接的值
也就是如果第五行的第一列的key是xxx的话
那么我想得到第五行三列的公式为第一行key的第三列value的值和第三行第三列的value的值拼接而成
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-27 12:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表