You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据另一值返回对应值:取point1与point2最大值匹配成就

实现方法

Excel/Google Sheets 实现

  1. 将两个表格的内容整理到同一工作表中,确保Branch列对应(比如第一个表格数据在A:C列,第二个在D:F列,D列为Branch)。
  2. 新建结果列:
    • point_max:在目标单元格(如H2)输入公式 =MAX(C2,F2),下拉填充至所有行,该公式会取对应行point1和point2的最大值。
    • achievements:在目标单元格(如G2)输入公式 =IF(C2>F2,B2,E2),下拉填充。如果point1和point2相等,可调整为=IF(C2>=F2,B2,E2)来优先取achievements1的值(或根据需求修改)。
  3. 最终提取Branch、achievements、point_max三列即可得到目标表格。

Python Pandas 实现

通过Pandas合并数据并计算目标字段,代码示例如下:

import pandas as pd

# 构造输入数据(实际使用时可通过read_excel/read_csv读取文件)
df1 = pd.DataFrame({
    'Branch': ['A', 'B', 'C'],
    'achievements1': [10, 20, 30],
    'point1': [1, 2, 3]
})

df2 = pd.DataFrame({
    'Branch': ['A', 'B', 'C'],
    'achievements2': [30, 20, 10],
    'point2': [3, 2, 1]
})

# 按Branch合并两个数据集
merged_data = pd.merge(df1, df2, on='Branch')

# 计算point_max
merged_data['point_max'] = merged_data[['point1', 'point2']].max(axis=1)

# 匹配对应最大值的achievements
merged_data['achievements'] = merged_data.apply(
    lambda row: row['achievements1'] if row['point1'] >= row['point2'] else row['achievements2'],
    axis=1
)

# 筛选需要的列生成结果
result = merged_data[['Branch', 'achievements', 'point_max']]
print(result)

运行后输出的结果即为目标表格。

内容的提问来源于stack exchange,提问作者hoa tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 09:21:10