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

Excel中基于E列重复项清理数据并确保D列保留指定有效值的方法

嘿,这个问题其实很好解决,根据你平时常用的工具,给你几个靠谱的方案:

方法1:Excel公式辅助 + 删除重复项(适合快速处理小数据集)

这个方法用简单的公式先统一D列的正确值,再删除重复项:

  • 第一步:添加辅助列(比如F列),在F2单元格输入公式:
    =LOOKUP(2,1/(E:E=E2)/(D:D<>""),D:D)
    
    然后下拉填充到所有行。这个公式会自动匹配当前E值对应的重复组中,第一个非空的D值(如果全为空则返回空),完美适配你说的3种场景。
  • 第二步:选中F列,右键选择「复制」,再选中D列右键「粘贴选项」→「值」,把辅助列的结果覆盖到原D列。
  • 第三步:选中整个数据区域,点击「数据」选项卡→「删除重复值」,只勾选E列,点击确定即可。此时E列所有值唯一,D列保留了对应组的非空正确值。
方法2:Excel Power Query(推荐,适合大数据集)

Power Query是Excel自带的强大数据处理工具,无需手动下拉公式,处理大量数据更高效:

  1. 选中你的数据区域,点击「数据」选项卡→「从表格/区域」(Excel 2016及以后版本支持,旧版本可以安装Power Query插件),将数据加载到Power Query编辑器。
  2. 在编辑器中,选中E列,点击「转换」选项卡→「分组依据」:
    • 「分组依据」选择E列;
    • 「新列名」可以填「正确D值」;
    • 「操作」选择「自定义」,在公式框中输入:
      List.RemoveNulls([D]){0}?
      
      这个公式的作用是:提取当前E组中所有非空的D值,取第一个(如果全为空则返回空)。
  3. 点击确定后,你会看到E列已去重,且对应D列都是正确值。最后点击「关闭并上载」,将清理后的数据导出到新工作表即可。
方法3:Python Pandas(适合编程爱好者/自动化需求)

如果习惯用代码处理数据,Pandas可以快速完成批量清理:

import pandas as pd

# 读取原始Excel数据(替换成你的文件路径)
df = pd.read_excel("原始数据.xlsx")

# 按E列分组,提取每个组中D列的第一个非空值,无则留空
df_cleaned = df.groupby("E", as_index=False).agg(
    D=("D", lambda x: x.dropna().iloc[0] if not x.dropna().empty else None)
)

# 将清理后的数据保存到新Excel文件
df_cleaned.to_excel("清理后的数据.xlsx", index=False)

这段代码会自动处理所有重复组,完美满足你的需求——E列唯一,D列保留非空的A/B值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 19:22:31