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

Excel Power Query:筛选透视后状态无变更行或前置去重

解决方案

方案一:透视前处理(推荐,性能更优)

针对大型数据源,在透视前筛选出存在状态变化的ID,能大幅减少后续数据处理量,具体步骤:

  1. 在Power Query加载源数据后,按ID分组:点击主页 > 分组依据,分组列选ID,新列名设为StatusList,操作选择所有行。
  2. 添加自定义列,判断该ID下状态是否有变化,输入公式:
    List.Distinct([StatusList][Status]) <> {[StatusList][Status]{0}}
    
    逻辑:提取该ID下所有状态去重后,若和第一个状态的单元素列表不一致,说明存在状态变化。
  3. 筛选自定义列为true的行,展开StatusList列恢复原数据结构,再进行透视或其他后续处理。

方案二:透视后处理

如果已完成透视操作,可按以下步骤筛选:

  1. 选中所有动态生成的日期状态列:按住Ctrl点击所有日期列,或通过开始 > 选择列批量选中。
  2. 添加自定义列,判断当前行所有状态列值是否完全相同,输入公式:
    List.AllTrue(List.Transform(Record.ToList(Record.SelectFields(_, List.RemoveFirstN(Table.ColumnNames(_),1))), each _ = Record.Field(_, List.RemoveFirstN(Table.ColumnNames(_),1){0})))
    
    逻辑:把当前行的状态列转为列表,检查所有元素是否等于第一个元素,返回true代表无变化,false代表有变化。
  3. 筛选自定义列为false的行,最后删除该自定义列即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 05:24:31