次序无关的集合相等与从属判断

本文通过实例解析如何使用SPL脚本在Excel中实现集合相等(查找共同值)和集合从属(满足条件的代码分组)。通过Book1和standard2两个Excel文件的操作,展示了如何筛选和合并数据,适合数据处理初学者和Excel开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

举例

例1:集合相等

有Excel文件Book1.xlsx,数据如下所示:

codeorder
A1
A2
A3
A4
B1
B2
B4
B3
C4
C2
C3
C1

有Excel文件standard2.xlsx,数据如下所示:

order
1
2

找出Book1中order的值也是standard2中order值的所有数据

编写SPL脚本:

A
1=file("Book1.xlsx").xlsimport@t()
2=file("standard2.xlsx").xlsimport@t()
3=A2.(order)
4=A1.select(A3.pos(order))

A1   读取Excel数据

A2  读取Excel数据

A3  standard2中的order数据

A4   pos函数判断Book1中order是否属于A3,根据判断的结果过滤数据,结果如下:

codeorder
A1
A2
B1
B2
C2
C1

例2:集合从属

有Excel文件Book1.xlsx,数据如下所示:

codeorder
A1
A3
A5
A7
B2
B4
B6
B8
C1
C2
C3
C4

有Excel文件standard2.xlsx,数据如下所示:

order
1
2

找出Book1中,相同code下,order包含了standard2中order值的所有code的数据

编写SPL脚本:

A
1=file("Book1.xlsx").xlsimport@t()
2=file("standard2.xlsx").xlsimport@t()
3=A2.(order)
4=A1.group(code).select(A3^~.(order)==A3).conj()

A1   读取Excel数据

A2  读取Excel数据

A3  standard2中的order数据

A4   按code分组,找出组内的order包含了standard2中order值的那些组,合并,结果如下:

codeorder
C1
C2
C3
C4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值