12.11 比对寻找变化

 

对两个二维表中关键列的内容进行比对:处理此问题可以把数据读成序表,取出关键列的值组成一个集合,然后通过两个集合的运算得出结果。
有 2018、2019 年的销售订单表数据如下,两个 Sheet 有相同的列结构:

imagepng

imagepng

例 1. 找相同
找出这两年都购买了同一种产品的客户 CustomerID 和产品 ProductID:

=spl("=[E(?1),E(?2)].merge@io()",Y2018!B1:C406,Y2019!B1:C1060)

imagepng

对两年数据进行归并,@i 表示返回共同包含的行

例 2. 找不同
找出 2019 年新增客户的订单情况:

A
1 =E(‘Y2018!A1:E406’)
2 =E(‘Y2019!A1:E1060’)
3 =A2.id(CustomerID)\A1.id(CustomerID)
4 =A2.select(A3.contain(CustomerID))

A3 用 2019 年所有 CustomerID 减去 2018 年的,得到新增的 CustomerID
A4 从 2019 年订单表筛选出新增 CustomerID 的订单

imagepng

例 3:找出 2019 年所有流失的 CustomerID:

=spl("=E(?1)\E(?2)",'Y2018'!B1:B406,'Y2019'!B1:B1060)

imagepng

帮你早下班 - esProc 桌面版与 Excel 数据处理
12.10 与明细表关联
12.12 动态关联运算