12.11 比对寻找变化
对两个二维表中关键列的内容进行比对:处理此问题可以把数据读成序表,取出关键列的值组成一个集合,然后通过两个集合的运算得出结果。
有 2018、2019 年的销售订单表数据如下,两个 Sheet 有相同的列结构:
例 1. 找相同
找出这两年都购买了同一种产品的客户 CustomerID 和产品 ProductID:
=spl("=[E(?1),E(?2)].merge@io()",Y2018!B1:C406,Y2019!B1:C1060)
对两年数据进行归并,@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 的订单
例 3:找出 2019 年所有流失的 CustomerID:
=spl("=E(?1)\E(?2)",'Y2018'!B1:B406,'Y2019'!B1:B1060)