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

如何通过if else条件判断将列值按规则移动到对应目标列

条件列值转移实现方案

方案1:Excel/WPS表格公式实现

假设你的表格列顺序和示例完全一致:A列存判断值A,B列存判断值B,C列为A1_1、D列为A1_2、E列为A1_3,F列为B1_1、G列为B1_2、H列为B1_3,数据从第2行开始,直接写对应公式下拉即可:

  • A组列处理:
    • A1_2(D2单元格):=IF(A2=3,C2,"")
    • A1_3(E2单元格):=IF(A2>=4,C2,"")
    • 若要清空A1_1不符合条件的内容,C2公式改为=IF(A2<=2,C2,"")(修改原列前建议先备份原数据,公式计算完成后可粘贴为值再覆盖原列)
  • B组列处理(完全复用逻辑):
    • B1_2(G2单元格):=IF(B2=3,F2,"")
    • B1_3(H2单元格):=IF(B2>=4,F2,"")
    • B1_1(F2单元格)改值公式:=IF(B2<=2,F2,"")

方案2:Python Pandas代码实现

适合数据量较大、需要批量处理的场景,通用逻辑无需重复编写多列代码:

import pandas as pd

# 读入你的数据源,csv文件就用pd.read_csv
df = pd.read_excel("你的原始文件路径.xlsx")

def value_shift(row, prefix):
    # prefix传'A'或者'B',适配不同组的列
    trigger_val = row[prefix]
    source_val = row[f"{prefix}1_1"]
    # 先初始化三个目标列为空
    row[f"{prefix}1_1"] = ""
    row[f"{prefix}1_2"] = ""
    row[f"{prefix}1_3"] = ""
    # 按规则赋值
    if trigger_val <= 2:
        row[f"{prefix}1_1"] = source_val
    elif trigger_val == 3:
        row[f"{prefix}1_2"] = source_val
    else:
        row[f"{prefix}1_3"] = source_val
    return row

# 分别对A、B两组应用规则
df = df.apply(value_shift, axis=1, prefix='A')
df = df.apply(value_shift, axis=1, prefix='B')

# 导出处理后的结果
df.to_excel("处理完成的文件.xlsx", index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 09:36:11