基于日期的数据透视表去重:保留最早交易记录
处理数据透视表中重复trans值,保留最早日期记录
原始数据
date trans 15-8-2020 trx-001 16-8-2020 trx-001 15-8-2020 trx-002
需求
将上述数据插入数据透视表,按trans字段去重,当存在重复trans值时,保留日期更早的记录,期望得到如下结果:
date trans 15-8-2020 trx-001 15-8-2020 trx-002
解决方案
方法1:Power Query预处理(推荐)
- 选中原始数据区域,点击「数据」选项卡 → 「从表格/区域」,将数据导入Power Query编辑器
- 选中
trans列,点击「转换」选项卡 → 「分组依据」 - 分组设置如下:
- 分组列:
trans - 新列名:
最早日期 - 操作:选择「最小值」
- 目标列:
date
- 分组列:
- 确认分组后,调整列顺序为
最早日期、trans,匹配需求格式 - 点击「关闭并上载」,将清洗后的数据导出到工作表,再基于此创建数据透视表即可
方法2:辅助列+数据透视表
- 在原始数据右侧添加辅助列,命名为「是否保留」
- 在辅助列第一个数据行输入数组公式:
=MIN(IF($B$2:$B$4=B2,$A$2:$A$4,""))=A2(假设date列是A,trans列是B,数据范围为第2到4行),输入后按Ctrl+Shift+Enter确认 - 筛选辅助列值为
TRUE的行,复制到新区域,基于该区域创建数据透视表即可
内容的提问来源于stack exchange,提问作者rakai seto
相关产品推荐
相关产品推荐

