ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 559|回复: 1

行式 Excel 文件去重

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-1-27 11:26 | 显示全部楼层 |阅读模式
一个文件,有多列数据,第一行是列名,第二行开始是数据记录,要对文件中关键列的内容进行比较,对关键列内容重复的行进行删除或只保留重复的行。
现有2018年的销售订单表order_2018.xlsx,部分数据如下所示:
1. 删除重复
示例1:请求出2018年购买产品的所有不同的客户Id,保存在文件2018c.xlsx中。
esProc SPL脚本如下:
A
1=T("e:/orders/order_2018.xlsx")
2=A1.id(CustomerId)
3=T("e:/orders/2018c.xlsx",A2)
A1 读入order_2018.xlsx中数据
A2 取出A1中所有不重复的CustomerId
A3 将A2中的数据写入文件2018c.xlsx中
示例2:请求出2018年各位客户购买了哪些不同产品,将CustomerId和ProductId保存在文件2018c_p.xlsx中。
esProc SPL脚本如下:
A
1=T("e:/orders/order_2018.xlsx";CustomerId,ProductId)
2=A1.group@1(CustomerId,ProductId)
3=T("e:/orders/2018c_p.xlsx",A2)
A1 读入order_2018.xlsx中CustomerId,ProductId两列数据
A2 按关键列分组,@1表示只取分组中的一条记录
A3 将A2中的数据写入文件2018c_p.xlsx中
2. 只保留重复
示例:请求出2018年回头客(即多次购买同种产品的客户)的订单情况,将结果保存在文件2018c_rebuy.xlsx中。
esProc SPL脚本如下:
A
1=T("e:/orders/order_2018.xlsx")
2=A1.group(CustomerId,ProductId)
3=A2.select(~.count()>1).conj()
4=T("e:/orders/2018c_rebuy.xlsx",A3)
A1 读入order_2018.xlsx数据
A2 按关键列分组, 同一客户购买同种产品的订单分为一组
A3 选出订单数大于1的组,把各组的订单并集为一个数据表
A4 将A3中的数据写入文件2018c_rebuy.xlsx中

TA的精华主题

TA的得分主题

发表于 2022-1-27 13:58 | 显示全部楼层
已经发了近60个帖子了,应该是知道求助要上传附件的了呀
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-4 01:22 , Processed in 0.044259 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表