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

如何按区域去重CSV行并按组内规则更新状态列(Excel/Python)

可行性结论

仅使用Excel原生功能即可完成该需求,无需编写Python脚本,数千行规模的CSV文件处理无性能压力。

具体操作步骤
  • 第一步:提取去重后的区域列表
    打开目标CSV文件后,选中A列(区域名称列)的全部有效数据,点击顶部「数据」选项卡下的「高级筛选」按钮:
    1. 弹窗中选择「将筛选结果复制到其他位置」
    2. 「条件区域」留空不填
    3. 「复制到」选择空白列的起始单元格(比如D1,提前给D1单元格输入表头「区域」)
    4. 勾选「选择不重复的记录」后点击确定,即可自动生成所有去重后的区域名称。
      如果你使用的是Excel 365/2021及以上支持动态数组的版本,可以跳过高级筛选操作,直接在D2单元格输入公式=UNIQUE(A2:A1048576),回车后会自动溢出填充所有不重复的区域值。
  • 第二步:批量计算每个区域的聚合状态
    在第一个去重区域对应的状态列单元格(即E2,提前给E1输入表头「最终状态」)输入以下公式:
    =IF(COUNTIFS(A:A,D2,B:B,"Completed")>0,IF(COUNTIFS(A:A,D2,B:B,"In Progress")>0,"Particularly Completed","Completed"),"In Progress")
    
    公式逻辑完全匹配需求规则:
    1. 先统计当前区域下状态为Completed的条目数,如果计数为0,直接判定为In Progress
    2. 如果存在Completed的条目,再统计当前区域下状态为In Progress的条目数,计数大于0说明两种状态共存,判定为Particularly Completed,否则判定为Completed
      输入公式按回车生效后,鼠标移动到E2单元格右下角,等光标变为黑色十字填充柄时双击,即可自动把公式批量填充到所有区域行,完成全部状态计算。
  • 第三步:固化结果导出
    选中D、E两列生成的全部结果,右键选择「粘贴为值」,即可去除公式依赖,后续可直接将结果保存为新的CSV或Excel文件。
样例校验

按照上述操作处理提到的样例数据,输出结果完全符合预期:

  • Chicago:两种状态同时存在,返回 Particularly Completed
  • San Francisco:所有条目均为Completed,返回 Completed
  • Los Angeles:所有条目均为In Progress,返回 In Progress

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:12:32